扫码阅读
手机扫码阅读

Redis 的过期策略都有哪些?

143 2024-07-17

我们非常重视原创文章,为尊重知识产权并避免潜在的版权问题,我们在此提供文章的摘要供您初步了解。如果您想要查阅更为详尽的内容,访问作者的公众号页面获取完整文章。

查看原文:Redis 的过期策略都有哪些?
文章来源:
springboot葵花宝典
扫码关注公众号
Redis过期策略摘要

Redis过期策略摘要

Redis通过设置数据有效时间来管理数据的生命周期,采用惰性删除和定期删除的策略相结合来删除过期数据。

1. 惰性删除策略

惰性删除策略是在访问时才检查键值是否过期,如果已过期则删除。这种策略对CPU影响小,但如果过期的键未被访问则会一直占用内存。

2. 定期删除策略

定期删除是周期性检查并删除过期键。有两种模式:SLOW模式(默认10hz,每次不超过25ms)和FAST模式(频率不固定,间隔至少2ms,每次耗时不超过1ms)。定期删除能有效释放内存,但难以确定其执行的时长和频率。

3. 内存淘汰策略

当内存不足时,Redis通过内存淘汰策略删除数据。Redis支持8种淘汰策略,包括基于TTL的策略、随机淘汰策略、基于LRU和LFU算法的策略。LRU(最近最少使用)和LFU(最少频率使用)算法用于确定删除键的优先级。

4. 使用建议

根据业务的不同需求选择合适的内存淘汰策略。例如,如果业务有明显的冷热数据区分,可使用基于LRU的策略;如果数据访问频率差别不大,可以使用随机淘汰策略;对于短时高频访问的数据,LFU策略可能更合适。

5. 面试常见问题

在面试中,候选人需要了解Redis的数据过期和淘汰策略。答题时可以提到惰性删除和定期删除策略,以及8种内存淘汰策略。有关保持热点数据的问题,可以提出使用allkeys-lru策略。当Redis内存用完时的行为取决于配置的淘汰策略。

想要了解更多内容?

查看原文:Redis 的过期策略都有哪些?
文章来源:
springboot葵花宝典
扫码关注公众号