- 缓存穿透,缓存击穿,缓存血崩分别是什么问题,怎么解决
-
缓存穿透:
- 指用户请求缓存与数据库都没有的数据,导致数据压力过大,从而引起数据库down机。
- 解决方案:
- 1 .用户鉴权,过滤掉请求id过小或者过大的记录
- 2.把缓存中不存在的key,没命中缓存查数据库后,把该key加入缓存中,并且设置过期时间,大约30s
- 3.使用布隆过滤器,可以判断大部分不存在的数据
-
缓存击穿:
- 指缓存中一个频繁请求的key,突然失效,然后全部请求数据库,导致数据库压力过大,从而down机
1.使用互斥锁
2.热点数据永远不过期
缓存雪崩
1.缓存时间加上随机数
2.数据永久不过期,或者加锁与消息对列
2021-08-27
最新推荐文章于 2024-05-16 08:02:13 发布