【redis使用场景——缓存——数据淘汰策略】

redis使用场景——缓存——数据淘汰策略

  • 数据淘汰策略
  • 8 种淘汰策略对比​

数据淘汰策略

当内存达到 maxmemory 限制时,Redis 会根据配置的策略自动淘汰数据,策略通过 maxmemory-policy 参数指定:

# redis.conf 示例
maxmemory 2GB
maxmemory-policy volatile-lru

8 种淘汰策略对比​

策略 规则 适用场景
noeviction 不淘汰数据,拒绝所有写入请求(默认策略) 数据绝对不可丢失的场景
volatile-ttl 优先淘汰剩余存活时间最短的键(Time To Live) 需优先清理即将过期的缓存
allkeys-random 随机淘汰全体键 数据访问无规律,且可接受任意数据丢失
volatile-random 随机淘汰设置了过期时间的键 缓存数据重要性均等
allkeys-lru 淘汰全体键中最近最少使用的(Least Recently Used) 通用缓存场景(推荐
volatile-lru 仅淘汰设置了过期时间的键中的 LRU 需区分持久数据和缓存数据时
allkeys-lfu 淘汰全体键中访问频率最低的(Least Frequently Used) 热点数据分布不均匀时(Redis 4.0+)
volatile-lfu 仅淘汰设置了过期时间的键中的 LFU 需保留部分高频访问的持久数据

你可能感兴趣的:(【redis使用场景——缓存——数据淘汰策略】)