重点回顾

  • 字典被广泛用于实现 Redis 的各种功能,其中包括数据库和哈希键。
  • Redis 中的字典使用哈希表作为底层实现,每个字典带有两个哈希表,一个用于平时使用,另一个仅在进行 rehash 时使用。
  • 当字典被用作数据库的底层实现,或者哈希键的底层实现时,Redis 使用 MurmurHash2 算法来计算键的哈希值。
  • 哈希表使用链地址法来解决键冲突,被分配到同一个索引上的多个键值对会连接成一个单向链表。
  • 在对哈希表进行扩展或者收缩操作时,程序需要将现有哈希表包含的所有键值对 rehash 到新哈希表里面,并且这个 rehash 过程并不是一次性地完成的,而是渐进式地完成的。