File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ > 感觉这个被问烂了
2+
3+ 面试官:聊聊什么是缓存穿透和雪崩
4+
5+ 我:ok
6+
7+ ** 缓存穿透** :
8+
9+ 一般是黑客故意去请求缓存中不存在的数据,导致所有的请求都落到数据库上,造成数据库短时间内承受大量请求而崩掉。
10+
11+ 1 . 在接口做校验
12+ 2 . 存null值(缓存击穿加锁)
13+ 3 . 布隆过滤器拦截: 将所有可能的查询key先映射到布隆过滤器中,查询时先判断key是否存在布隆过滤器中,存在才继续向下执行,如果不存在,则直接返回。布隆过滤器将值进行多次哈希bit存储,布隆过滤器说某个元素在,可能会被误判。布隆过滤器说某个元素不在,那么一定不在。
14+
15+ ** 缓存雪崩:**
16+
17+ 缓存同一时间大面积的失效,所以,后面的请求都会落到数据库上,造成数据库短时间内承受大量请求而崩掉。
18+
19+ 1 . 使用 Redis 高可用架构:使用 Redis 集群来保证 Redis 服务不会挂掉
20+ 2 . 缓存时间不一致,给缓存的失效时间,加上一个随机值,避免集体失效
21+ 3 . 限流降级策略:有一定的备案,比如个性推荐服务不可用了,换成热点数据推荐服务
Original file line number Diff line number Diff line change 8282- [ Redis数据结构] ( /Interview/sad/Redis数据结构.md )
8383- [ Redis持久化] ( /Interview/sad/Redis持久化.md )
8484- [ Redis内存淘汰机制] ( /Interview/sad/Redis内存淘汰机制.md )
85+ - [ Redis缓存穿透和雪崩] ( /Interview/sad/Redis缓存穿透和雪崩.md )
8586
8687## 刷题系列
8788- [ 推荐:CS-Notes] ( https://cyc2018.github.io/CS-Notes/#/?id=✏️-算法 )
You can’t perform that action at this time.
0 commit comments