【redis——缓存击穿】
redis——缓存击穿
- 缓存击穿
- 核心特征
- 缓存击穿的解决方案
- 互斥锁(Mutex Lock)方案
- 逻辑过期(Logical Expiration)
缓存击穿
缓存击穿是指某个热点key在缓存过期失效的瞬间
,同时有大量请求涌入,直接穿透缓存
访问数据库的现象。
核心特征
- 针对的是热点数据(高频访问的key)
- 发生在缓存失效的瞬间
- 造成数据库瞬时高并发压力
- 数据真实存在于数据库
缓存击穿的解决方案
互斥锁(Mutex Lock)方案
核心思想:使用分布式锁保证只有一个线程重建缓存
适用场景:写操作较少的动态数据
优势:强一致性
逻辑过期(Logical Expiration)
核心思想:物理永不过期,通过逻辑字段控制有效性
适用场景:极高热度的静态数据(如商品基础信息)
优势:渐进式更新
:通过异步线程更新缓存,避免瞬时负载