Redis原理篇(Dict的收缩扩容机制和渐进式rehash)
发布时间
阅读量:
阅读量
Dict(即字典)
Redis作为一种键值存储系统,其核心数据结构是通过Dict实现的键值对应关系。
Dict由三个组成部分构成:哈希表(DictHashTable)、哈希节点(DictEntry)以及字典(Dict)。
哈希表的底层实现基于数组结构,当出现哈希冲突时,会扩展为链表形式,用于存储哈希节点。
以下为哈希表与哈希节点相关的源代码


首先看到dictht,即DictHashTable的缩写,下面是对其中属性的解释:
dictEntry table用于表示哈希表的数组结构,其中每个数组元素均存储为一个指向dictEntry结构体的指针。采用双指针的设计方式,主要目的是为了支持数组的动态扩展功能。
size参数用于标识当前哈希表所包含的元素数量。
sizemask的作用是与键值执行按位与运算,其效果等同于取余操作,但具有更高的运算效率。
use
全部评论 (0)
还没有任何评论哟~
