redis zmalloc 全局 used_memory 读写拆分
git pull 发现 zmalloc.c 更新了
写拆分, 读累加
commitId 3264deb24e3b01ad7b2777bc68b9d91f0f41aa3b
commit log 里 The solution 介绍, 都不用看代码改了什么, 作为资深 javaer , 老八股之 jdk8 LongAdder 就条件反射出来了, 会心一笑
LongAdder 的基本思路就是分散热点,将 value 值分散到一个数组中,不同线程会命中到数组的不同槽中,各个线程只对自己槽中的那个值进行 CAS 操作,这样热点就被分散了,冲突的概率就小很多。如果要获取真正的 long 值,只要将各个槽中的变量值累加返回