image

编辑人: 人逝花落空

calendar2025-01-19

message5

visits637

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 过期策略都有哪些?

版权声明:本站点所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明文章出处。
分享文章
share