参看官方文档
从上段文档可以看出Maxmemory(最大内存)的配置和六种内存驱逐政策(淘汰策略)
1、最大内存的配置很简单,在redis.conf文件中使用指令:
maxmemory 100mb
2、Redis3.0版本支持的淘汰策略有6种
① noeviction:禁止驱逐数据,当内存不足时,新写入操作就会报错,请求可以继续进行,线上任务也不能持续进行,可以保证数据不被丢失,这是系统默认的一种淘汰策略。
② allkeys-lru:从所有的数据中根据LRU(最近最少被使用)算法找出的数据淘汰掉。
③ volatile-lru:从设置了过期时间的数据中根据LRU算法找出数据淘汰掉。
④ allkeys-random:从所有的数据中随机淘汰数据。
⑤ volatile-random:从设置了过期时间的数据中随机淘汰数据。
⑥ volatile-ttl:从设置了过期时间的数据中根据ttl值淘汰,值越大越先被淘汰。
文档继续往下可以看到
从Redis 4.0开始,可以使用基于LFU(使用频率最低)算法的新模式
⑦ volatile-lfu:从设置了过期时间的数据中淘汰使用频率最低的。
⑧ allkeys-lfu:从所有的数据中淘汰使用频率最低的。
在redis.conf配置文件中,我们找到设置maxmemory的注释处
一样可以看到与文档相同的内存淘汰策略,当然redis版本要大于版本4才会有八种