Redis淘汰策略

redis 默认的最大的内存设置为maxmemory0,相当于基于物理机的最大值

八种策略

  1. volatile-lru,针对设置了过期时间的key,使用lru算法进行淘汰。
  2. allkeys-lru,针对所有key使用lru算法进行淘汰。
  3. volatile-lfu,针对设置了过期时间的key,使用lfu算法进行淘汰。
  4. allkeys-lfu,针对所有key使用lfu算法进行淘汰。
  5. volatile-random,从所有设置了过期时间的key中使用随机淘汰的方式进行淘汰。
  6. allkeys-random,针对所有的key使用随机淘汰机制进行淘汰。
  7. volatile-ttl,删除生存时间最近的一个键。
  8. noeviction(默认),不删除键,值返回错误。

四种算法

主要是4种算法,针对不同的key,形成的策略。
算法:

  1. lru(Least Recently Used) 最近很少的使用的key(根据时间,最不常用的淘汰)
  2. lfu(Least Frequently Used)最近很少的使用的key (根据计数器,用的次数最少的key淘汰)
  3. random 随机淘汰
  4. ttl 快要过期的先淘汰
key
  • volatile 有过期的时间的那些key
  • allkeys 所有的key
posted @   fchhk  阅读(35)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示