缓存
缓存穿透
- 缓存穿透,是指查询一个一定不存在的数据,由于缓存是不命中时被动写,并 且处于容错考虑,如果从 DB 查不到数据则不写入缓存,这将导致这个不存在 的数据每次请求都要到 DB 去查询,失去了缓存的意义。
- 缓存空对象
- 布隆过滤器
缓存雪崩
- 缓存雪崩,是指缓存由于某些原因无法提供服务( 例如,缓存挂掉了 ),所有请 求全部达到 DB 中,导致 DB 负荷大增,最终挂掉的情况。
- 缓存高可用,
- 多级缓存,本地缓存
缓存击穿
- 极度“热点”数据在某个时间点过期时,恰好在这个时间 点对这个 KEY 有大量的并发请求过来,这些请求发现缓存过期一般都会从 DB 加载数据并回设到缓存,但是这个时候大并发的请求可能会瞬间 DB 压垮
- 使用互斥锁更新缓存
- 缓存预热