Redis的过期策略

Redis 支持的过期策略主要有以下几种:

  1. 定时过期(Timed Expiration)

    • 这种策略会在设置键的过期时间时,创建一个定时器,当达到指定的过期时间点时,立即执行删除操作。
    • 这种方式可以精确控制键的生命周期,但是如果有大量的键都设置了过期时间,会创建大量的定时器,对系统资源的消耗相对较高。
  2. 惰性过期(Lazy Expiration)

    • 当读取一个键时,Redis 会检查该键是否已经过期,如果已经过期,则在返回结果之前先删除这个键。
    • 这种方式只会在访问键的时候才检查其是否过期,因此不会像定时过期那样占用太多系统资源。但缺点是如果某些键很少或者根本不被访问,它们即使过期了也不会被及时清理,可能会占用内存直到被访问为止。
  3. 定期过期(Periodic Expiration)

    • Redis 会周期性地从设置了过期时间的键中随机测试一些键,并把其中已经过期的键删除。
    • 这种方法结合了定时过期与惰性过期的特点,在减少资源消耗的同时,能够较好地处理不被访问的过期键。

总结来说,Redis 的过期策略是通过定时、惰性和定期三种策略组合使用的方式,来平衡资源消耗和过期键的清除效率。在实际使用中,因为定时过期对资源消耗较大,通常不会单独使用,而是和惰性过期以及定期过期结合起来,以适应不同的场景需求。

相关推荐
剩下了什么7 分钟前
MySQL JSON_SET() 函数
数据库·mysql·json
山峰哥38 分钟前
数据库工程与SQL调优——从索引策略到查询优化的深度实践
数据库·sql·性能优化·编辑器
较劲男子汉1 小时前
CANN Runtime零拷贝传输技术源码实战 彻底打通Host与Device的数据传输壁垒
运维·服务器·数据库·cann
java搬砖工-苤-初心不变1 小时前
MySQL 主从复制配置完全指南:从原理到实践
数据库·mysql
山岚的运维笔记3 小时前
SQL Server笔记 -- 第18章:Views
数据库·笔记·sql·microsoft·sqlserver
roman_日积跬步-终至千里4 小时前
【LangGraph4j】LangGraph4j 核心概念与图编排原理
java·服务器·数据库
汇智信科4 小时前
打破信息孤岛,重构企业效率:汇智信科企业信息系统一体化运营平台
数据库·重构
野犬寒鸦4 小时前
从零起步学习并发编程 || 第六章:ReentrantLock与synchronized 的辨析及运用
java·服务器·数据库·后端·学习·算法
indexsunny4 小时前
互联网大厂Java面试实战:Spring Boot微服务在电商场景中的应用与挑战
java·spring boot·redis·微服务·kafka·spring security·电商
晚霞的不甘5 小时前
揭秘 CANN 内存管理:如何让大模型在小设备上“轻装上阵”?
前端·数据库·经验分享·flutter·3d