请问Redis的rehash怎么做的,为什么要渐进rehash,渐进rehash又是怎么实现的?
参考回答:
1)操作redis时,额外做一步rehash
对redis做读取、插入、删除等操作时,会把位于table[dict->rehashidx]位置的链表移动到新的dictht中,然后把rehashidx做加一操作,移动到后面一个槽位。
2)后台定时任务调用rehash
后台定时任务rehash调用链,同时可以通过server.hz控制rehash调用频率
扫描二维码,关注牛客网
下载牛客APP,随时随地刷题