Redis 过期策略都有哪些?

分析&回答


如何设置过期时间?

为Key设置过期时间,expire key time(以秒为单位)。

定期删除

也叫主动删除:redis会定期主动淘汰一批已经过期的key。

  • 当前已用的内存超过maxmemory限定时,触发主动清理策略。
  • 如果redis的内存占用过多的时候,如果redis的内存占用过多的时候,会进行内存淘汰。

惰性删除

也叫被动删除:当读/写一个已经过期的key时,会直接删掉这个过期的key。

如果 Redis 内存不足会有那些策略

  • noeviction:报错,当内存不足以容纳新写入数据时,新写入操作会报错
  • allkeys-lru:在键空间中,移除最近最少使用的key
  • allkeys-random:在键空间中,随机移除某个key
  • volatile-lru:在设置了过期时间的键空间中,移除最近最少使用的key
  • volatile-random:在设置了过期时间的键空间中,随机移除某个key
  • volatile-ttl:在设置了过期时间的键空间中,有更早过期时间的key优先移除

如何选择

  • 一般做缓存的话,使用allkeys-策略;
  • 如果使用其持久化策略的话,volatile-策略。
  • 最经常用的是allkeys-lru。

为了大家更加方便的刷题,我们对文章进行了分类和整理,免费为大家提供刷题服务。程序员不欺骗程序员,赶紧扫码小程序刷起来!
Redis 过期策略都有哪些?_第1张图片

为了一站式解决面者刷题问题,部分内容可能存在摘录情况,如有侵权辛苦您留言联系我们,我们会删除文章或添加引用文案,Thanks!

你可能感兴趣的:(分布式数据库,redis,缓存,java)