缓存失效的风险管理
缓存是提升后端性能的关键,但其失效机制如果设计不当,反而会导致 **缓存穿透** 或 **缓存击穿**,将压力直接导向数据库。
两大缓存攻击与防御:
| 问题 | 现象 | 解决方案 |
|---|---|---|
| **穿透** | 查询不存在的数据,攻击者利用此漏洞持续请求 | **布隆过滤器**;缓存空值(短 TTL) |
| **击穿** | 热点 Key 突然失效,大量请求同时查询数据库 | **互斥锁(Mutex Lock)**;将热点数据设置为永不过期 |
布隆过滤器是一种高效的概率型数据结构,用于快速判断元素是否存在。在穿透场景中,可以提前过滤掉不存在的请求。互斥锁则可以确保在击穿场景中,只有一个请求去查询数据库,并将结果回写到缓存。这些防御策略是构建
评论区