xinjiang 发表于 2018-11-3 07:51:53

redis笔记-数据结构篇

哈希表分而治之渐进式rehash步骤:  1)为ht分配空间,字典同时持有ht和ht。
  2)rehashidx设置为0,表示rehash开始。
  3)rehash进行期间,每次对字典执行删除、查找或者更新操作时,会在两个哈希表上进行,程序除了执行指定的操作外,还会顺带将ht的键值对rehash到ht,每次对字典执行添加操作时,新添加的键值对一律保存到ht而不在对ht添加,当rehash后,将rehashidx值增一。
  4)随着字典操作的不断进行,最终某个时间点,ht的所有键值对都会rehash到ht,将rehashidx设为-1,表示rehash操作完成。
  5)释放ht,并将ht设置为ht,然后为ht分配一个空白哈希表。

页: [1]
查看完整版本: redis笔记-数据结构篇