缓存穿透、雪崩的问题描述及解决方案
2022-06-11 10:23:57 4 举报
通过图的形势解释什么是缓存穿透、雪崩,在针对这些问题提出解决方案
作者其他创作
大纲/内容
key是否失效
缓存雪崩定义:缓存集中在一段时间内失效,导致所有的查询都落在DB上,造成DB的压力瞬间增大。解决方法: 1.加锁、限流(推荐) 2.缓存预热,错过缓存高峰期 3.改被动失效为主动失效
失效
正常访问
不存在
大量request请求key
request
缓存雪崩流程
缓存雪崩
大量的请求落在DB上
访问缓存
不会访问DB
判断key值是否存在(缓存和DB)--布隆过滤器
servercache
3.剩余的请求会访问缓存上的数据
request请求key
缓存穿透定义:缓存区和DB中都不存在该Key值,但是仍然有大量请求访问该Key,造成大量的资源浪费,一般属于恶性攻击情况下发生。解决方法:1.使用布隆过滤器 2.也可将该key值存入数据库中
clients
2.只放入一个请求(其他请求阻塞),为该key加锁、并查询DB,将值写入缓存
server cache
存在
解决缓存雪崩的加锁流程
缓存系列问题
继续访问DB
阻塞
1.当所有的请求访问缓存的时候,
缓存穿透的及其解决方案
有效
0 条评论
下一页