默认
- noeviction
当内存使用超过配置的时候会返回错误,不会驱逐任何键。
LRU策略(Least Recently Used)
- allkeys-lru
加入键的时候,如果过限,首先通过lru算法驱逐最久没有使用的键。 - volatile-lru
加入键的时候如果过限,首先从设置了过期时间的键集合中驱逐最久没有使用的键。
Random策略
- allkeys-random
加入键的时候如果过限,从所有key随机删除。 - volatile-random
加入键的时候如果过限,从过期键的集合中随机驱逐。
TTL策略(Time To Live)
- volatile-ttl
从配置了过期时间的键中驱逐马上要过期的键。
LFU策略(Least Frequently Used)
- volatile-lfu
从所有配置了过期时间的键中驱逐使用频率最少的键。 - allkeys-lfu
从所有键中驱逐使用频率最少的键。
策略的优点
1.减少了设置过期时间产生的内存消耗
2.能够更好的避免缓存雪崩等问题
3.服务器资源得到更大的利用
策略使用redis.conf
#一般设置为服务器内存的20%
maxmemory 4G
maxmemory-policy allkeys-lru
网友评论