Redis的过期策略

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

  1. 定时过期(Timed Expiration)

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

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

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

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

相关推荐
其实防守也摸鱼1 小时前
运维--学习阶段问题解答(1)(自测)
linux·运维·服务器·数据库·学习·自动化·命令模式
懒鸟一枚1 小时前
深入理解 Linux 内存、Swap 交换分区与分页机制的关系
java·linux·数据库
龙仔7251 小时前
SQL Server 创建只读账号完整操作(分两种场景:SSMS图形界面 + T-SQL脚本)
数据库·sql·oracle
霁月的小屋1 小时前
生产环境中的事务实践——银行系统上线记(四)
数据库
Database_Cool_2 小时前
AI 应用数据底座首选:阿里云 PolarDB 为大模型 RAG 提供一体化支撑
数据库·阿里云
玖玥拾2 小时前
C# 语言进阶(十五)C# 游戏服务端 MySQL 数据库
服务器·开发语言·网络·数据库·mysql·c#
IvorySQL3 小时前
PG 日报|社区讨论重构 pg_hba 配置文件格式
数据库·人工智能·postgresql·重构·ivorysql
逝水无殇3 小时前
C# 文件的输入与输出详解
开发语言·数据库·后端·c#
罗政5 小时前
PDF 批量合并工具:本地 AI 自动排序、识别正文日期与合同编号
数据库·pdf·php
SelectDB5 小时前
宽表元数据膨胀怎么解?Doris Segment V3 对比 Parquet、Lance
大数据·数据库·数据分析