扫码阅读
手机扫码阅读
Redis 的过期策略都有哪些?
143 2024-07-17
我们非常重视原创文章,为尊重知识产权并避免潜在的版权问题,我们在此提供文章的摘要供您初步了解。如果您想要查阅更为详尽的内容,访问作者的公众号页面获取完整文章。
查看原文:Redis 的过期策略都有哪些?
文章来源:
springboot葵花宝典
扫码关注公众号
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葵花宝典
扫码关注公众号
springboot葵花宝典的其他文章
探索分布式事务解决方案:八种方案解析
探索分布式事务解决方案:八种方案解析
云计算-6-Dockerfile制作镜像
云计算-6-Dockerfile制作镜像
Java并发篇面试总结
1. 线程状态
要求
掌握 Java 线程六种状态
掌握 Java
消息队列技术探秘:深入浅出RabbitMQ与Spring AMQP
介绍Spring AMQP 一个基于 Spring Framework 的 RabbitMQ 客户端库从如何配置连接工厂、如何创建交换机和队列、如何发送和接收消息等方面,帮助我们开发者更轻松地构建高效可靠的 RabbitMQ 消息传递系统。
SpringBoot-6-模板Thymeleaf常用标签
SpringBoot-6-模板Thymeleaf主要来介绍Thymeleaf的常用标签以及使用方法
加入社区微信群
与行业大咖零距离交流学习
软件研发质量管理体系建设
白皮书上线