redis源码分解二(上层容器合集)

本篇为合集性质,redis全部的上层容器分析看如下文章

如上,不同的上层容器中负责具体实现redis中的具体一个个command命令例如set,get,del等,上层容器通过对低层数据结构进行包装组合,根据不同的key属性或集合数据量灵活使用不同的组合方式(也叫编码方式)

其中完整的对应关系如图所示

可以看到,对于上层容器比较特殊的是hyperloglog,hyperloglog来源于论文

,复杂点在于理解而非对底层数据结构的操纵。

对于底层数据结构来说,特殊的为ziplist,由于有着较大的缺陷(连锁更新),在5中引入了listpack作为上位替代,在6中彻底退出上层容器调用链。

发布于 2022-01-15 15:40