扫码阅读
手机扫码阅读
Redis 的过期策略都有哪些?
![](/theme/default/default/images/main/eye-open.png)
我们非常重视原创文章,为尊重知识产权并避免潜在的版权问题,我们在此提供文章的摘要供您初步了解。如果您想要查阅更为详尽的内容,访问作者的公众号页面获取完整文章。
![](/theme/default/default/images/main/icon-link.png)
![](/theme/default/default/images/main/icon-jing.png)
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内存用完时的行为取决于配置的淘汰策略。
想要了解更多内容?
![](/theme/default/default/images/main/icon-link.png)
![](/theme/default/default/images/main/icon-jing.png)
springboot葵花宝典
扫码关注公众号
springboot葵花宝典的其他文章
Vue结合Vuex和Vue-Router进行JWT身份验证
我们将使用 Vuex 和 Vue-Router 构建一个支持前端Vue项目 JWT 身份验证
Vue前后端CURD--实现Vue路由
昨天已经给大家介绍了Vue+SpringBoot实现前后端分离,今天根据之前项目,实现Vue前端路由
SpringBoot-30-RestTemplate的Post详解
SpringBoot-30-RestTemplate的Post详解
web-6-深入理解JSP:探索其核心概念和特性
=JSP(全称:Java Server Pages):Java 服务端页面。==是一种动态的网页技术,其中既可以定义 HTML、JS、CSS等静态内容,还可以定义 Java代码的动态内容,也就是 `JSP = HTML + Java`
分库分表介绍
分库分表介绍
加入社区微信群
与行业大咖零距离交流学习
![](https://cdn.easycorp.cn/rongpm/upload/202312/f_39217d624bb2b42ce8f6322ebd7e573a.png)
![](https://cdn.easycorp.cn/rongpm/upload/202312/f_39217d624bb2b42ce8f6322ebd7e573a.png)
软件研发质量管理体系建设
白皮书上线