rehash精选.pdfVIP

  • 1
  • 0
  • 约2.12千字
  • 约 6页
  • 2018-01-28 发布于贵州
  • 举报
rehash精选

rehash 随着操作的不断执⾏, 哈希表保存的键值对会逐渐地增多或者减少, 为了让哈希表 的 载因⼦ (load factor )维持在⼀个合理的范围之内, 当哈希表保存的键值对数量 太多或者太少时, 程序需要对哈希表的⼤⼩进⾏相应的扩展或者收缩。 扩展和收缩哈希表的⼯作可以通过执⾏ rehash (重新散列)操作来完成, Redis 对字 典的哈希表执⾏ rehash 的步骤如下: 1. 为字典的 ht[1] 哈希表分配空间, 这个哈希表的空间⼤⼩取决于要执⾏的操 作, 以及 ht[0] 当前包含的键值对数量 (也即是ht[0].used 属性的值): 如果执⾏的是扩展操作, 那么 ht[1] 的⼤⼩为第⼀个⼤于等 于 ht[0].used * 2 的 (2 的 n 次⽅幂); 如果执⾏的是收缩操作, 那么 ht[1] 的⼤⼩为第⼀个⼤于等 于 ht[0].used 的 。 2. 将保存在 ht[0] 中的所有键值对 rehash 到 ht[1]

文档评论(0)

1亿VIP精品文档

相关文档