redis - 为什么 dict_force_resize_ratio 在 redis 中默认为 5?
问题描述
为什么dict_force_resize_ratio在 redis/dict.c 中默认为5 ?
解决方案
这是一个启发式,没有正确或错误的答案。
dict_force_resize_ratio
是字典中元素的数量与大小(也就是桶数)之间的比率。通常,只要这个比率为 1,redis 就会调整哈希表的大小。
但是,如果关闭调整大小并且字典继续增长。在某一时刻,它会退化为一个数组,时间复杂度会变成 O(n)。通过将上限设为 5,redis 确保哈希表性能不会降低到 O(n)。
推荐阅读
- java - 什么java设计模式可以避免强制转换数据实体
- c# - XML反序列化愚蠢的问题
- magento - 在 magento 1 和 magento 2 的系统配置设置中调用 Phtml 文件
- php - 如何在 Laravel 和 MySQL 中不使用日期的情况下将时间戳标志设置为 true?
- django - 配置 IIS 以服务 Django 应用程序
- activemq-artemis - 红帽 AMQ 7.1 代理 - JMSSecurityException
- swift - UICollectionView 数据源方法不会被调用
- html - 为什么百分比填充会破坏我的弹性项目?
- git - 避免对话框netbeans git提示rebase或merge
- c# - 将 prop 作为参数传递给另一个 prop 自定义属性 c#