Redis中共有下面八种内存淘汰策略:
volatile-lru
:设置了过期时间的key使用LRU算法淘汰;
volatile-lfu
:设置了过期时间的key使用LFU算法淘汰;
volatile-random
:设置了过期时间的key使用随机淘汰;
volatile-ttl
:设置了过期时间的key根据过期时间淘汰,越早过期越早淘汰,即越临近过期的越先淘汰;
allkeys-lru
:所有key使用LRU算法淘汰;
allkeys-lfu
:所有key使用LFU算法淘汰;
allkeys-random
:所有key使用随机淘汰;
noeviction
:默认策略,当内存达到设置的最大值时,所有申请内存的操作都会报错,只读操作可以正常执行;
内存淘汰策略的配置项为 maxmemory-policy
,其默认值为noeviction
,该配置项可以动态配置。