Redis内存淘汰策略

当Redis中内存不足的时候,为了保证命中率,就会选择一定的数据淘汰策略。
volatile(从已经设置过期时间的key中)
allkeys(所有的key中)
1)volatile-lru:当内存不足时,从设置了过期时间的key中使用LRU(最近最少使用)算法,选出最近使用最少的数据,进行淘汰;
2)allkeys-lru:当内存不足时,从所有key中使用LRU(最近最少使用)算法,选出最近使用最少的数据,进行淘汰。
3)volatile-lfu:当内存不足时,从设置了过期时间的key中使用LFU算法,选出使频率最低的数据,进行淘汰。
【Redis内存淘汰策略】4)allkeys-lfu:当内存不足时,从所有key中使用LFU算法,从所有key中使用LFU算法,选出使频率最低的数据,进行淘汰。
5)volatile-random:当内存不足时,从设置了过期时间的key中,随机选出数据,进行淘汰。
6)allkeys-random:当内存不足时,从所有的key中,随机选出数据,进行淘汰。
7)volatile-ttl:当内存不足时,从设置了过期时间的key中,选出即将过期的数据(按照过期时间的先后,选出先过期的数据),进行淘汰。
8)no-enviction:当内存不足时,禁止淘汰数据,写入操作报错默认策略,是Redis默认的内存淘汰策略。

    推荐阅读