Skip to content

Latest commit

 

History

History
7 lines (4 loc) · 1.31 KB

介绍dict,什么是rehash?什么是渐进式rehash.md

File metadata and controls

7 lines (4 loc) · 1.31 KB

在Redis中,dict(字典)是一种用于存储键值对的数据结构,它类似于哈希表,可以实现快速的查找、插入和删除操作。dict内部使用哈希表来存储键值对,每个键值对会映射到哈希表中的一个桶(bucket)中。

rehash是指Redis在进行扩容或缩容时,重新计算并重建哈希表的过程。当哈希表中元素数量超过了指定阈值(load factor)时,Redis会触发rehash操作来扩容哈希表,以减少冲突并提高查询效率。反之,如果元素数量变少,Redis也会通过rehash来缩小哈希表,节省内存空间。

渐进式rehash是一种优化技术,用于在进行rehash操作时避免长时间阻塞服务。传统的rehash操作需要一次性将所有键值对重新映射到新的哈希表中,可能会造成短暂的阻塞,影响系统性能。而渐进式rehash则会将rehash操作分解为多个小步骤,每次处理一部分键值对,逐步完成整个rehash过程,让系统在较长时间内平稳进行rehash操作,避免长时间阻塞。

通过渐进式rehash,Redis可以在不影响系统性能的情况下进行哈希表的扩容或缩容操作,保证服务的持续可用性。这种方式使得Redis能够更好地处理大规模数据集的哈希表操作,提升系统的稳定性和性能。