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 @ 2023-03-27 21:55  fchhk  阅读(29)  评论(0编辑  收藏  举报