如下图,Redis的字典结构中包含了两个哈希表:
默认是往ht[0]写数据的,随着数据主键增多,Redis就会触发执行rehash操作了,主要步骤如下:
- 给ht[1]分配更大的空间;
- 将ht[0]的数据拷贝到ht[1];
- 释放ht[0]的空间。
如果直接拷贝数据,肯定是会花很长时间的,进一步会导致阻塞Redis。
为了避免这个问题,Redis中使用的是渐进式的rehash,进一步了解,可以阅读Part I中Hash字典
小节内容。
如下图,Redis的字典结构中包含了两个哈希表:
默认是往ht[0]写数据的,随着数据主键增多,Redis就会触发执行rehash操作了,主要步骤如下:
如果直接拷贝数据,肯定是会花很长时间的,进一步会导致阻塞Redis。
为了避免这个问题,Redis中使用的是渐进式的rehash,进一步了解,可以阅读Part I中Hash字典
小节内容。
本文作者: 帅旋
本文链接: https://www.itzhai.com/columns/redis/rehash.html
版权声明: 版权归作者所有,未经许可不得转载,侵权必究!联系作者请加公众号。
关注公众号及时获取网站内容更新。
咖啡=电量,给帅旋充杯咖啡,他会满电写代码!