redis zmalloc 全局 used_memory 读写拆分

git pull 发现 zmalloc.c 更新了

写拆分, 读累加

commitId 3264deb24e3b01ad7b2777bc68b9d91f0f41aa3b

commit log 里 The solution 介绍, 都不用看代码改了什么, 作为资深 javaer , 老八股之 jdk8 LongAdder 就条件反射出来了, 会心一笑

LongAdder 的基本思路就是分散热点,将 value 值分散到一个数组中,不同线程会命中到数组的不同槽中,各个线程只对自己槽中的那个值进行 CAS 操作,这样热点就被分散了,冲突的概率就小很多。如果要获取真正的 long 值,只要将各个槽中的变量值累加返回

posted on 2024-08-21 01:07  ddatsh  阅读(6)  评论(0编辑  收藏  举报

导航