详解redis(16):缓存击穿

一、什么是缓存击穿?

缓存击穿
某一个"热点 Key"在某一时刻失效 ,大量并发请求同时访问这个 Key,导致请求瞬间全部打到数据库,数据库压力骤增。

为什么叫"击穿"?

缓存是"墙"

热点 Key 是"薄弱点"

一过期 → 并发请求 把缓存打穿

二、缓存击穿是怎么发生的?

典型场景(非常真实)

首页商品信息

热门文章

秒杀商品库存

明星用户信息

不是所有 key 失效,而是一个 key 被并发"围殴"

缓存击穿的完整过程

1. 热点 key 到期
2. Redis 返回 miss
3. 高并发请求同时查 DB
4. DB QPS 暴涨
5. 服务线程阻塞
6. 接口超时 / 崩溃

三、如何解决缓存击穿?

同一时间,只允许一个请求去查数据库

一、互斥锁

思路

缓存 miss 时

先抢锁

只有抢到锁的人查 DB

其他请求等待 / 返回旧值

二、热点数据永不过期

Redis key 不设置 TTL

value 中带过期时间

三、提前刷新

热点 key

到期前主动更新

相关推荐
摇滚侠19 分钟前
Spring 零基础入门到进阶 基于 XML 管理 Bean 14-28
xml·数据库·spring
Metaphor69235 分钟前
使用 Python 给 PDF 设置背景色或背景图
数据库·python·pdf
Gauss松鼠会35 分钟前
【GaussDB】GaussDB重要通信参数汇总
服务器·网络·数据库·sql·性能优化·gaussdb·经验总结
睡不醒男孩0308231 小时前
第五篇:2026年企业级 PostgreSQL 高可用方案深度横评:Patroni vs. CLup 架构与可靠性全面对决
数据库·postgresql·架构
NineData1 小时前
SQL 都在等锁时,ChatDBA 先帮 MySQL 找到谁在挡路
数据库·人工智能·sql·mysql·安全·数据复制·数据迁移工具
超级无敌zhq1 小时前
后渗透痕迹清理:攻防对抗中的隐身术
网络·数据库·网络安全
2601_961845151 小时前
考研网课资源网盘|2027|资料
数据库·vim·sublime text·figma·photoshop·墨刀·高考
Amnesia0_02 小时前
MYSQL复合查询和内外连接
数据库·mysql
Gauss松鼠会2 小时前
【GaussDB】GaussDB SMP特性调优详解
java·服务器·前端·数据库·sql·算法·gaussdb
AI数据皮皮侠2 小时前
全国高考报名、录取数据(1977-2026)
大数据·数据库·人工智能·python·机器学习·高考