码迷,mamicode.com
首页 > 其他好文 > 详细

redis过期策略

时间:2020-04-27 22:36:20      阅读:52      评论:0      收藏:0      [点我收藏+]

标签:机制   ati   red   空间   oev   过期策略   操作   rand   删除   

  • redis过期策略
    • 定期删除
      • 缺省情况下,redis每隔100ms就随机选取一些设置了过期时间的key来检查,看其是否过期,如果过期了就删除。那么这里就会存在一个问题,假如redis中存在这100万个设置了超时时间的key,那么redis如果每隔这么短的时间去就检查,肯定会崩掉,所以redis才会定期抽选一些来检查。
    • 惰性删除
      • 如果定期没有抽取到已经过期的key,那么在取出这个key的时候,redis会检查,如果超时了,也会将其删除
    • 内存淘汰机制
      • 如果上面两种情况都同时没命中,那么大量过期key堆积在内存中,就导致redis内存块耗尽。所以这里就会走内存淘汰机制
        • noeviction:当内存不足以容纳新写入数据时,新写入操作会报错,很少用
        • allkeys-lru:当内存不足以容纳新写入数据时,在键空间中,移除最近最少使用的 key,最常用
        • llkeys-random:当内存不足以容纳新写入数据时,在键空间中,随机移除某个key,很少用
        • volatile-lru:当内存不足以容纳新写入数据时,在设置了过期时间的键空间中,移除最近最少使用的 key
        • volatile-random:当内存不足以容纳新写入数据时,在设置了过期时间的键空间中,随机移除某个 key
        • volatile-ttl:当内存不足以容纳新写入数据时,在设置了过期时间的键空间中,有更早过期时间的 key 优先移除

redis过期策略

标签:机制   ati   red   空间   oev   过期策略   操作   rand   删除   

原文地址:https://www.cnblogs.com/kobelieve/p/12790381.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!