白狗子的博客

「天上浮云如白衣,斯须改变如苍狗。」——杜甫

Redis-过期与淘汰策略

2026年10月16日·Admin·1 次浏览

Redis 键过期与内存淘汰

过期键的删除策略

Redis 不会到点立刻删除所有过期键,而是组合使用:

策略 说明
惰性删除 客户端访问 key 时检查是否过期,过期则删除并返回空。
定期删除 周期性随机抽查一批 key,删除其中已过期的,减轻内存压力。

因此过期 key 可能短暂残留,直到被访问或被定期任务抽到。

内存不足时:maxmemory 与淘汰策略

配置 maxmemory 后,写入可能触发淘汰(maxmemory-policy),常见:

策略 含义
noeviction 不淘汰,写满报错(默认需显式配)
allkeys-lru 从所有 key 里 LRU 淘汰
volatile-lru 仅从设了过期时间的 key 里 LRU
allkeys-random / volatile-random 随机淘汰
volatile-ttl 优先淘汰 TTL 更短的
volatile-lfu / allkeys-lfu(4.0+) 按访问频率

根据业务选:缓存全可丢可用 allkeys-lru;有持久键慎用会删全局 key 的策略。

© 2025 My Blog. Built with Nuxt.js v4