每个字典的底层采用哈希表实现,每个字典带有两个哈希表,一个平常使用,一个仅在rehash时使用。redis使用murmurHash2算法来计算hash值
渐进式rehash
字典的删除,更新,查找会在两个表上进行,而新增只会在新的表中进行。
以查找为例,会先在ht[0]中查找,找不到去ht[1]中找。
这样的话可以保证ht[0]只增不减,最终全部转移到ht[1]中。
redis数据库的底层通过字典结构来实现
每个字典的底层采用哈希表实现,每个字典带有两个哈希表,一个平常使用,一个仅在rehash时使用。redis使用murmurHash2算法来计算hash值
渐进式rehash
字典的删除,更新,查找会在两个表上进行,而新增只会在新的表中进行。
以查找为例,会先在ht[0]中查找,找不到去ht[1]中找。
这样的话可以保证ht[0]只增不减,最终全部转移到ht[1]中。
redis数据库的底层通过字典结构来实现
本文标题:1.2 链表、字典
本文链接:https://www.haomeiwen.com/subject/ksflhftx.html
网友评论