缓存篇—缓存击穿

在很多场景下,我们的业务通常会有几个数据会被频繁地访问,比如秒杀活动,这类被频地访问的数据被称为热点数据。

如果缓存中的某个热点数据过期 了,此时大量的请求访问了该热点数据,就无法从缓存中读取,直接访问数据库,数据库很容易就被高并发的请求冲垮,这就是缓存击穿的问题。

可以发现缓存击穿跟缓存雪崩很相似,你可以认为缓存击穿是缓存雪崩的一个子集。

应对缓存击穿可以采取前面说到两种方案:

  • 互斥锁方案,保证同一时间只有一个业务线程更新缓存,未能获取互斥锁的请求,要么等待锁释放后重新读取缓存,要么就返回空值或者默认值。
  • 不给热点数据设置过期时间,由后台异步更新缓存,或者在热点数据准备要过期前,提前通知后台线程更新缓存以及重新设置过期时间;
相关推荐
2601_968900772 小时前
推理部署配置实践:缓存窗口、硬件配比与协议统一的核查清单
缓存
一条泥憨鱼5 小时前
【Redis | 黑马点评】基于Redis的消息队列 | stream消息队列 源码解读
java·数据库·redis·缓存·lua
每天一道题5 小时前
Redis 缓存为什么会出问题?穿透、击穿、雪崩与缓存一致性
数据库·redis·缓存
charlotte102410248 小时前
Redis 简介:从诞生到数据类型,再到缓存三大问题
数据库·redis·缓存
打工仔折腾 AI9 小时前
深入验证 DeepSeek 新模型开源声明:KV 缓存指标与按次计费的后端落地评估
缓存·性能优化·开源·ai agent 实战
java_nnnn9 小时前
数据库读写分离与 Redis 缓存:从 MySQL 查询压力到缓存机制
数据库·redis·缓存
hweiyu0010 小时前
Redis命令:SCARD
redis·缓存
码士集团小青19 小时前
SpringBoot 集成缓存性能之王 Caffeine
spring boot·后端·缓存
SHENGWEI胜为1 天前
交换机端口显示正常,终端却获取不到 IP 地址?从 DHCP 流程定位故障
服务器·网络·测试工具·缓存·通信工程
AAASilverwolf1 天前
OpenAI 新增 12 小时提示缓存:跨小时任务能省多少?
人工智能·gpt·缓存·api