首页 Redis过期策略
文章
取消

Redis过期策略

过期键的检查机制

Redis维护一个存储了所有设置了过期值的键值,称之为过期字典

过期间检查流程

过期策略

Redis为什么要制定一堆过期策略

由于Redis是单线程操作,因此为了避免键值删除操作影响主业务的进行,那么就有必要制定出合适的过期删除策略

三种过期策略

  1. 惰性删除:使用时判断,已过期则删除
  2. 定时删除:创建定时器,到过期时间立即删除
  3. 定期删除:每段时间删除一次,具体看算法,一般检查一定规模的数据(随机抽取数据而非全部遍历),如果过期数据占比较多,扩大检查范围,同时为了保证过期扫描不影响 Redis 主业务,Redis 的定期删除策略中还提供了最大执行时间,以保证 Redis 正常并高效地运行。

Redis实际使用的策略

惰性删除和定期删除两种策略,通过配合使用这两种删除策略,可以很好地在合理使用CPU和避免浪费内存之间取得平衡。

本文由作者按照 CC BY 4.0 进行授权