首页/数据/Redis 进阶速查/过期机制:惰性删除加定期抽样
本包目录(421 条)
数据结构与选型42 条持久化56 条主从与哨兵51 条Cluster 集群44 条
内存与管理99 条
性能与排障129 条

过期机制:惰性删除加定期抽样

过期键不会被定时器精确唤醒删除:读取时惰性判定,同时后台周期性随机抽样清理;过期数据占内存的时间取决于抽样强度与写入压力。

Redis 进阶速查数据更新于 2026-10-12
机制惰性删除(访问时)加定期抽样(activeExpireCycle)
抽样强度active-expire-effort 1-10,默认 1
轮询频率hz 默认 10,可调高

示例

示例
redis-cli CONFIG GET hz
redis-cli CONFIG SET active-expire-effort 5
redis-cli INFO keyspace
redis-cli DBSIZE
从节点不主动删除过期键:读到逻辑过期的键返回空值,实际删除等主节点的 DEL 复制过来。

易错点

  • 大量键在同一秒集中过期(同批缓存同 TTL)会给抽样清理和主线程带来阵发性负担,TTL 加随机抖动
  • 调高 hz 提升过期与内存回收及时性,但会增加 CPU 轮询开销,按空闲余量小步调整

数据来源与参考

  • Redis 官方文档:过期策略说明
  • redis.conf:hz 与 active-expire-effort 注释
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌