提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
redis学习知识点:缓存击穿、缓存雪崩、缓存穿透
一、缓存雪崩
1、缓存雪崩?
缓存雪崩:缓存雪崩
是指大量的请求无法命中Redis
中的缓存数据,导致请求都发到数据库
数据库不能向redis一样处理大量请求,缓存雪崩导致请求量激增将导致数据库压力非常大甚至宕机,必然会对业务造成致命影响。
2、发生场景
01、大量redis缓存时间同时过期,请求无法命中数据只能查询数据库。
02、redis服务器宕机
3、如何避免
01、对大量redis缓存时间同时过期,在原来过期时间上加一个随机数,避免同一时间大量key过期
02、对redis服务宕机的情况,搭建redis高可用服务,搭建redis主从服务器同步数据,提高可用性
二、缓存击穿
1、缓存击穿?
缓存击穿:缓存击穿与缓存雪崩的情况类似,缓存雪崩是大量redis数据过期,缓存击穿是热点数据过期,热点数据的请求访问数据库
2、发生场景
热点数据缓存时间过期
3、如何避免
01、热点数据不设置过期时间
02、做好服务降级,发生缓存击穿时返回固定数据
三、缓存穿透
1、缓存穿透?
缓存穿透:查询的数据既不在redis中,也不在数据库中,redis形同虚设
2、发生场景
恶意攻击请求
3、如何避免
01、可以缓存一个空值或缺省值
02、使用布隆过滤器
总结
以上就是今天要讲的内容,本文仅仅简单介绍了缓存击穿、缓存雪崩、缓存穿透的概念和预防方案。