【发布时间】:2022-01-07 09:48:21
【问题描述】:
我的一个微服务项目存在性能问题,即连接或执行命令到 redis 的延迟很高。经过一番调查,我得出了这个结论:
根据 Redis 文档,用于过期键的 redis 算法是:
- 从具有关联过期时间的密钥集中测试 20 个随机密钥。
- 删除所有发现过期的密钥。
- 如果超过 25% 的密钥过期,请从第 1 步重新开始。
在我的项目中,每秒创建或更新 30 个密钥,其 ttl 为 10 分钟,大约是所有存储密钥的三分之一。
这是否意味着在大多数算法的执行中,我们满足第三步的条件,并且 redis 在过期键上消耗了大部分资源?如果是这样,我可以通过更改一些配置来自定义或覆盖该算法的默认行为吗?或者有什么替代方案吗?
【问题讨论】:
标签: performance redis customization redis-cluster