Redis6的Key淘汰策略
内存不足时Redis的Key内存淘汰策略
-
背景
- redis在指定内存占用超过maxmemorey指定的值之后
- 通过maxmemory_policy确定redis是否释放内存和如何释放内存的策略
-
策略
-
volatile-lru(least recently used)
最近最少使用算法,从设置了过期时间的键中选择空转时间最长的键值对清除掉; -
volatile-lfu(least frequently used)
最近最不经常使用算法,从设置了过期时间的键中选择某段时间之内使用频次最小的键值对清除掉; -
volatile-ttl
从设置了过期时间的键中选择过期时间最早的键值对清除 (删除即将过期的) -
volatile-random
从设置了过期时间的键中,随机选择键进行清除; -
allkeys-lru
最近最少使用算法,从所有的键中选择空转时间最长的键值对清除; -
allkeys-lfu
最近最不经常使用算法,从所有的键中选择某段时间之内使用频次最少的键值对清除; -
allkeys-random
所有的键中,随机选择键进行删除; -
noeviction
不做任何的清理工作,在redis的内存超过限制之后,所有的写入操作都会返回错误;但是读操作都能正常的进行;
-