目录
一,击穿
1,什么是?
高并发下单个key由于失效或者查不到发生,导致数据库压力过大而崩溃。key过期时间和过期策略(LRU,LFU)导致
2,怎么解决
限流:使用分布式锁,让获得锁的去DB请求数据,其他sleep。为了方式获得锁的挂掉,给这把锁设置过期时间;为了保证工作能正确完成,得到锁的使用多线程的方式,让一个线程去获取数据,另一个更新锁的时间。
3,图例说明
二,雪崩
1,什么是?
高并发下多个 key查询并且出现缓存中失效或者查不到,间接而导致db压力突然飙升崩溃。
2,怎么解决
均匀打乱key的过期时间,对于必须要过期的零点数据,可以参考击穿方案。
3,图例说明
三,穿透
1,什么是?
多个key缓存并且数据库不存在,所以每次查询都会查询数据库从而导致数据库崩溃。
2,怎么解决
布隆过滤器
redis布隆过滤器模块安装和介绍,有兴趣可以点开看下
https://blog.csdn.net/qq_39308071/article/details/119189390