Redis之淘汰策略 - 掘金
淘汰策略
noeviction
不会继续服务写请求(del请求可以),读请求可以继续进行,即可读不可写,该策略不会丢失数据,但是同样生产的写请求不可用也会让业务无法进行下去,这种策略是默认策略。
volatile-lru
淘汰具有过期时间的key,最少使用的key优先淘汰,没有过期时间的key不会被淘汰,该策略可以保证持久化的数据不被丢失。
volatile-ttl
与 2 类似,区别是比较过期时间ttl的值,值越小越优先淘汰。
volatile-random
与 2、3 类似,区别是随机淘汰具备过期时间的key,不分使用频率和过期时间长短。
allkeys-lru
与 2 类似,不过该淘汰策略范围是redis中的所有key,不区分是否有过期时间,但是区分使用频率。
allkeys-random
与 5 类似,范围是所有的key,但是不区分使用频率。
volatile开头的只会淘汰带有过期时间的key,allkeys则是所有的key,如果redis只是作为缓存使用,可以使用allkeys,如果有些数据是务必持久化的,则使用volatile。