缓存篇—缓存击穿

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

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

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

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

  • 互斥锁方案,保证同一时间只有一个业务线程更新缓存,未能获取互斥锁的请求,要么等待锁释放后重新读取缓存,要么就返回空值或者默认值。
  • 不给热点数据设置过期时间,由后台异步更新缓存,或者在热点数据准备要过期前,提前通知后台线程更新缓存以及重新设置过期时间;
相关推荐
m***92381 天前
Window下Redis的安装和部署详细图文教程(Redis的安装和可视化工具的使用)
数据库·redis·缓存
n***s9091 天前
Redis如何设置密码
数据库·redis·缓存
y***61311 天前
redis 使用
数据库·redis·缓存
r***11331 天前
如何实现Redis安装与使用的详细教程
数据库·redis·缓存
闲人编程1 天前
Django缓存策略:Redis、Memcached与数据库缓存对比
数据库·redis·缓存·django·memcached·codecapsule
RoboWizard1 天前
PCIe 5.0 SSD有无独立缓存对性能影响大吗?Kingston FURY Renegade G5!
人工智能·缓存·电脑·金士顿
n***i951 天前
后端在分布式缓存中的一致性哈希
分布式·缓存·哈希算法
tanxiaomi2 天前
Redis相关面试题
数据库·redis·缓存
optimistic_chen2 天前
【Redis 系列】Redis详解
linux·数据库·redis·缓存·xsheel
r***11332 天前
Redis--模糊查询--方法实例
数据库·redis·缓存