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