Redis 过期策略

惰性删除+定期删除

惰性删除

在进行key的操作时,首先检查key是否过期

定期删除

将每隔设置了过期时间的key放入一个独立的字典中,默认每秒进行10次过期扫描

  1. 从过期字典中随机选择20个key,
  2. 删除这20个key中已经过期的key,
  3. 如果过期的key的比例超过1/4,重复上述步骤
    为了保证过期扫描不会出现循环过度,导致线程卡死的现象,算法还增加了扫描时间的上限,默认不会超过25ms。

使用时应注意设置过期时间的随机范围,而不能全部在同一时间过期,否则会造成缓存雪崩。

posted @ 2020-04-03 18:26  ghx_kevin  阅读(100)  评论(0编辑  收藏  举报