Redis 内存淘汰策略(8 种)

news/2025/12/5 16:24:12/文章来源:https://www.cnblogs.com/xfydaydayup/p/19312708

🚀 一、Redis 内存淘汰策略总览(8 种)

Redis 只在 内存满(到 maxmemory) 时触发淘汰。

分两大类:


🟩 ① 针对“设置了过期时间的 key”(常用)

策略 说明
volatile-lru 在过期集合中挑最近最少使用的 key
volatile-lfu 在过期集合中挑最少频次访问的 key
volatile-ttl 在过期集合中优先删除“快要到期”的 key
volatile-random 在过期集合中随机删

🟥 ② 针对“全体 key”(包含不过期 key)

策略 说明
allkeys-lru 在所有 key 中挑最近最少使用的 key
allkeys-lfu 在所有 key 中挑最少访问频次的 key
allkeys-random 所有 key 中随机删除
noeviction 不删除,直接报错(返回 OOM 错误)

这八个策略你必须一口背下来,这是 Redis 面试最容易出“背诵题”的地方。


🎨 二、图解(分类图 + 原理图)

🖼 1. 策略分类图

           Redis 淘汰策略(8 种)│┌────────┴────────┐针对只对“带过期时间 key”     针对“所有 key”│                      │┌────────┼────────┐       ┌───────┼─────────┐
volatile-lru   volatile-lfu   allkeys-lru    allkeys-lfu
volatile-ttl   volatile-random allkeys-random noeviction

🖼 2. LRU 图(最近最少使用)

[Key1] → [Key2] → [Key3] → [Key4]最近访问                        最久未访问
淘汰:从右边删

🖼 3. LFU 图(访问频率)

访问次数:
KeyA:1 次
KeyB:5 次
KeyC:10 次
KeyD:2 次淘汰:删访问次数最少的 → KeyA

🖼 4. volatile-ttl 图(删除 TTL 最短的)

KeyA:TTL = 90s
KeyB:TTL = 3s ← 最快过期
KeyC:TTL = 45s淘汰:KeyB

🧩 三、每种策略的业务使用场景

1)allkeys-lru(最常用)

缓存场景首选,适合热点数据明显。

例如:

  • 商品详情缓存
  • 用户信息缓存
  • 内容阅读缓存
  • Feed 流热点读取

优势:

  • 热点数据永远在内存
  • 淘汰最久没访问的 key
  • 不依赖 TTL(可以不用设置过期)

2)allkeys-lfu(Redis 4.0+)

热点访问具有“长期”倾向的场景。

例如:

  • 推荐系统:爆款文章
  • 视频平台:长期热门内容
  • 直播间信息:用户一直点同一个房间

比 LRU 更精准(避免偶发突刺访问导致缓存污染)


3)volatile-lru

只在“过期 key 集合”里淘汰。

适合:

  • 大多数 key 都设置 TTL
  • 少量 key(例如配置)不想被淘汰

4)volatile-ttl

优先删除“马上过期的 key”。

适合:

  • 大批量定时自动过期的数据
  • 秒杀场景中的临时库存 key
  • 登录态 key(快过期就删掉没事)

5)volatile-random / allkeys-random

随机删除。

基本只在“实验场景”用。生产一般不用。


6)noeviction

内存满 = 写入失败。

适合:

  • Redis 被当作 消息队列
  • Redis 做 持久性计数器
  • 内存不能随便删(如广告扣费、计费系统)

多数恢复方案:

  • 加内存
  • 扩容集群

🔥 四、面试必问:Redis 淘汰策略与业务场景如何选择?

📌 缓存业务(高并发读多写少)

👉 allkeys-lru(99% 场景选它)

📌 有热点但追求更稳定的命中率

👉 allkeys-lfu

📌 必须保留某些不设置过期时间的 key

👉 volatile-lru / volatile-lfu

📌 数据天然有 TTL,快过期无所谓

👉 volatile-ttl

📌 强一致性计费、上下文、计数器

👉 noeviction


🧠 五、面试高频追问(我帮你准备好答案)


❓ Q1:为什么建议 allkeys-lru 而不是 volatile-lru?

因为:

  • 许多缓存 key 本来就不一定设置 TTL
  • volatile-lru 只在 TTL 集中删 key
  • 没 TTL 的 key 越堆越多 → 其实更容易 OOM

👉 allkeys-lru 更稳定可靠。


❓ Q2:Redis 4.0 引入 LFU 的目的?

因为 LRU 会被“偶发热点”污染。

例如有人刷接口一次性读 10 万个冷数据,LRU 就错乱了。

LFU 能识别:

  • 真正的热点(多次、长期)
  • 偶发高峰不会影响驱逐逻辑

❓ Q3:选错策略会怎样?

  • 命中率下降(最直接结果)
  • QPS 降低
  • 回源数据库压力暴涨 → 雪崩

选对策略有时比扩容更有效。


🏁 六、终极总结(背就完了)

Redis 内存淘汰策略 8 种:
volatile-lru / volatile-lfu / volatile-ttl / volatile-random
allkeys-lru / allkeys-lfu / allkeys-random / noeviction常用:
allkeys-lru(缓存)
allkeys-lfu(热点更稳定)不常用:
random、ttl不用:
noeviction(除非你真的需要强一致)触发条件:
内存达到 maxmemory 才会淘汰

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/988855.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

会议服务公司怎么选?三大标准助您决策!会议服务公司 | 活动策划公司 | 合肥会议活动策划公司推荐!

会议服务公司怎么选?三大标准助您决策!会议服务公司 | 活动策划公司 | 合肥会议活动策划公司推荐!在筹办一场会议、峰会或产业对接活动时,选择一家专业的会议服务公司往往是决定成败的关键一环。面对市场上众多的会…

2025年钢套钢地埋保温钢管定做厂家权威推荐榜单:钢套钢直埋保温弯头‌/直埋蒸汽保温管‌/预制直埋保温管‌‌源头厂家精选

在城镇集中供热、工业蒸汽输送等关键基础设施建设领域,钢套钢地埋保温钢管是保障热能高效、安全传输的核心“动脉”。随着国家对“双碳”目标的持续推进和新型城镇化建设的深化,该市场正迎来需求与技术升级的双重机遇…

小米汽车在智能座舱使用消费级芯片,你怎么看

小米汽车在智能座舱使用消费级芯片(如骁龙8 Gen3),是近期车圈的热门话题。这件事的核心,其实是一场关于成本、性能与安全可靠性之间的商业与技术权衡。 首先来聊聊这三大标准: 车规级芯片主要涉及三套核心标准:I…

Redis 过期 key 删除策略

⭐ Redis 的过期策略 = 惰性删除 + 定期删除(主动轮询) 面试官问你 “Redis 过期 key 怎么删除?” 标准答案只有一句:Redis 使用惰性删除(lazy deletion)+ 定期删除(active expire cycle)。 不做定时删除,因为…

大雪将至,码上围炉 | Copdigger邀你共赴一场静默的「深度更新」

听见了吗?那是代码在雪地下的呼吸声。下一场技术跃迁,正在寂静中悄然生长。 各位开发者朋友: 北风渐紧,万物敛藏。两天后,我们将迎来二十四节气中的 「大雪」。 这个节气,并非只有寒冷与封冻。古人说“大雪,至此…

完整教程:Unity TextMeshPro 文本对齐方式详解

完整教程:Unity TextMeshPro 文本对齐方式详解pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", &…

rust语言常用属性

Rust 语言中的属性(Attributes)是附加到代码(例如模块、函数、结构体、枚举或整个 crate)上的元数据,用于向编译器提供额外信息、指示编译器执行特定操作,或启用某些功能。 属性以 #[attribute_name](表示该属性…

两分钟看懂:BL118 为什么特别适合储能行业?

这两年,储能行业进入了“快车道”:从工商业储能、光储一体机,到大规模电网侧储能,设备数量爆发式增加。与此同时,一个被频繁提起的问题是:储能系统到底需不需要边缘计算网关?更直接一点——钡铼技术 BL118 Node…

2025年中国电解式臭氧发生器生产厂家推荐:BDD金刚石涂层

随着环保、医疗等领域对高效消毒设备需求的激增,电解式臭氧发生器凭借无二次污染、浓度可控等优势逐渐成为市场主流,而BDD金刚石涂层电极作为其核心部件,直接决定设备性能。本榜单基于技术实力、产品稳定性、行业口…

AI一周资讯 251129-251205

原文: https://mp.weixin.qq.com/s/dutPyteGCa9staazBion8A?scene=1&click_id=7 OpenAI拉响“红色警报”,下周推新模型硬刚Gemini 3 pro 2025年12月2日,面对Google等竞争对手的压力,OpenAI拉响“红色警报”,决…

高性价比家政服务公司推荐,广州喜相缘家政实力上榜

在现代社会,随着生活节奏的加快,人们对家政服务的需求日益增长。然而,市场上家政服务公司众多,服务质量参差不齐,价格也高低不一。如何挑选一家高性价比、靠谱的家政服务公司成为了许多消费者的难题。今天,我们就…

深入解析:redis怎么处理并发——redis高并发处理的5个最佳实践

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

2025企业家必读:从“信息孤岛”到“知识银行”,私有化AI知识库如何重塑企业竞争力?

2025年,某头部制造企业CEO在战略会上抛出一个问题:“我们每年投入2亿研发费用,沉淀的技术文档、工艺经验为何无法快速复制到新工厂?”这个问题戳中了无数企业家的痛点——在数字化时代,知识已成为比资金、设备更核…

2025年AI知识库本地化部署厂商全景扫描:如何把大模型装进企业“保险箱”

2025年,数据跨境流动监管趋严,通用大模型幻觉、延迟、泄露风险频上热搜,“AI知识库本地化部署厂商”一夜之间成为企业CIO、CSO、CTO搜索框里的常驻长尾词。谁能在本地机房交付一套“能用、敢用、长用”的企业级知识…

2025年苏州地区知名的西点培训学校推荐:有实力的西点培训机

本榜单依托苏州、常州、无锡、南通四地市场调研与真实学员口碑,深度筛选出五家标杆西点培训企业,为西式餐饮追梦人提供客观选型依据,助力精准匹配适配的技能提升伙伴。 TOP1 推荐:苏州欧米奇西点西餐学院 推荐指数…

从结构化到多模态,AI 时代如何利用多模态数据智能中台激活业务价值?

近日,AI “顶流” 学者李飞飞的最新长文《从语言到世界:空间智能是人工智能的下一个前沿》刷屏时,整个科技圈再次被 “升维” 的焦虑击中。她指出,AI 的下一个前沿是 “空间智能”—— 让 AI 真正理解和交互物理世…

2025年苏州地区信誉好的西餐培训学院推荐TOP5,专业西餐

在餐饮行业多元化发展的当下,西餐以其精致的工艺与独特的文化魅力,成为众多美食爱好者与创业者的聚焦领域。选择一家专业的西餐学院培训机构,是掌握正统技艺、打开职业大门的关键。面对市场上良莠不齐的培训选项,如…

Open webUI ollama图形界面的更新与实现

对于安装在 Docker 容器中的应用程序,最推荐和最标准的更新方法是拉取新的镜像并重建/重启您的容器。以下是使用 Docker Compose(如果您用它来管理 Open WebUI)或标准 Docker CLI 的更新步骤。🛠️ Docker Open W…

2025.12 做题记录

。本文来自博客园,作者:2021zjhs005,转载请注明原文链接:https://www.cnblogs.com/2021zjhs005/p/19312654

2025 年陶瓷喷涂源头厂家最新推荐榜,聚焦技术实力与市场口碑深度解析涡轮叶片陶瓷喷涂/半导体腔体陶瓷喷涂/锅炉管道耐高温陶瓷喷涂/阀门陶瓷喷涂公司推荐

引言 在工业生产领域,机械设备零部件的磨损、腐蚀、高温损耗等问题,始终是影响生产效率与设备寿命的关键因素。随着泵业、石油化工、汽车制造、钢铁等行业快速发展,对零部件表面处理要求不断提升,陶瓷喷涂凭借耐磨…