面试官:讲讲redis的缓存淘汰策略?

回答思路:

        为什么存在过期一说

        过期策略可以分为三类

回答总结:

        我们都知道Redis速度快,是Redis将数据放在内存中的,通过异步的方式同步磁盘,所以大大减少了磁盘I/O的时间。也就是因为放在内存中,内存大小有限,所以会存在内存满了,需要将Redis的数据删除,也就是缓存淘汰或者说过期的说法。

        缓存淘汰策略分为三大类:

        1)不删除:enviction是Redis默认策略,是指内存达到了限制也不淘汰数据,但也无法写入数据,会命令报错;

        2)被动删除:是指有设置过期时间的key,在对该数据进行读写的时候发现过期了,将其进行删除。但是有个缺点:冷数据无法删除;

        3)主动删除:主动删除是指内存超过maxMemory时触发主动删除策略,主动删除策略又分为以下几种:

  • 设置过期时间的valitile开头
    • valitile-lru:设置了过期时间且最近最少使用的key
    • valitile-ttl:设置了过期时间且即将过期的key
    • valitile-random:设置了过期时间且随机删除key
  • 所有key以allKeys开头
    • allKeys-lru:全部的key中最近最少使用的key
    • allKeys-random:全部的key中随即删除的key

最后记录一篇我还没来的及仔细看但是大致浏览一下写的很全的Redis面试题总结:

20道经典Redis面试题_CSDN砖家的博客-CSDN博客

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值