当前位置: 首页 > 面试题库 >

请问Redis的rehash怎么做的,为什么要渐进rehash,渐进rehash又是怎么实现的?

林辰钊
2023-03-14
本文向大家介绍请问Redis的rehash怎么做的,为什么要渐进rehash,渐进rehash又是怎么实现的?相关面试题,主要包含被问及请问Redis的rehash怎么做的,为什么要渐进rehash,渐进rehash又是怎么实现的?时的应答技巧和注意事项,需要的朋友参考一下

参考回答:

因为redis是单线程,当K很多时,如果一次性将键值对全部rehash,庞大的计算量会影响服务器性能,甚至可能会导致服务器在一段时间内停止服务。不可能一步完成整个rehash操作,所以redis是分多次、渐进式的rehash。渐进性哈希分为两种:

1)操作redis时,额外做一步rehash

对redis做读取、插入、删除等操作时,会把位于table[dict->rehashidx]位置的链表移动到新的dictht中,然后把rehashidx做加一操作,移动到后面一个槽位。

2)后台定时任务调用rehash

后台定时任务rehash调用链,同时可以通过server.hz控制rehash调用频率

 类似资料:
  • 我们强调渐进式的改善站点体验主要有下面两个原因: 降低站点改造的代价,逐步支持各项新技术,不要一蹴而就 新技术标准的支持度还不完全,新技术的标准还未完全确定 PWA 改造的成本考虑 PWA 涉及到从安全、性能和体验等方面的优化,想要一次性支持所有特性,代价很高,老板也不一定愿意投入大量人力来支持这项大工程。 所以,从改造的成本考虑,我们也建议采取渐进式的方式,可以考虑按照下面的步骤来改造: 第一步

  • 问题内容: Jeff在谈论使用JQuery编写stackoverflow时提到了“渐进增强”的概念。 快速浏览Google之后,我发现了一些有关它的高层讨论。 任何人都可以推荐一个适合作为程序员开始的好地方。 具体来说,我一直在用PHP编写Web应用程序,并且希望使用YUI来改进我正在编写的页面,但是其中很多似乎都是基于JavaScript的,而大多数驴工作都是使用JavaScript完成的。对我

  • 本文向大家介绍请你回答一下hash表如何rehash,以及怎么处理其中保存的资源相关面试题,主要包含被问及请你回答一下hash表如何rehash,以及怎么处理其中保存的资源时的应答技巧和注意事项,需要的朋友参考一下 参考回答: C++的hash表中有一个负载因子loadFactor,当loadFactor<=1时,hash表查找的期望复杂度为O(1). 因此,每次往hash表中添加元素时,我们必须

  • 本文向大家介绍为什么Vue被称为“渐进框架”?相关面试题,主要包含被问及为什么Vue被称为“渐进框架”?时的应答技巧和注意事项,需要的朋友参考一下 为什么Vue被称为“渐进框架”?

  • 相似图片查询要怎么做,上传的每一个图片是不是应该有一个值保存在数据库,然后相似的图就是用当前这个图的值去查找,那这个值怎么比较说明相似?越想越不对,到底该怎么做,高手来指点一下