redis内存不足的情况下,内存淘汰策略
针对对象:volatile(设置过期的key)、allkeys(所有key)、noeviction(新增的key,写操作报错)
处理策略
lru(淘汰最近最少使用的(使用过的数据中淘汰))、
random(随机淘汰)、
lfu(最少使用的)、
ttl(淘汰设置过期时间,更早过期时间的)
volatile-lru:当内存不足以容纳新写入数据时,在设置了过期时间的键空间中,移除最近最少使用的key。
volatile-ttl:当内存不足以容纳新写入数据时,在设置了过期时间的键空间中,有更早过期时间的key优先移除。
volatile-random:当内存不足以容纳新写入数据时,在设置了过期的键中,随机删除一个key。
volatile-lfu:当内存不足以容纳新写入数据时,在过期密集的键中,使用LFU算法进行删除key。
allkeys-lfu:当内存不足以容纳新写入数据时,使用LFU算法移除所有的key。
allkeys-random:当内存不足以容纳新写入数据时,随机删除一个或者多个key。
allkeys-lru:当内存不足以容纳新写入数据时,在键空间中,移除最近最少使用的key(这个是最常用的)。
noeviction:当内存不足以容纳新写入数据时,新写入操作会报错。