缓存雪崩
缓存雪崩是指,同一时间有大量的缓存key失效,或者redis节点直接宕机了,造成大量的请求打向数据库,像雪崩一样。
原本我们的redis就像是数据库前面的一堵墙,挡住大量的请求,只有少量的请求打到数据库。

但是由于大量的缓存key在同一时间失效,相当于是redis这堵墙开了个大口,这时候大量的请求就会同一时刻打向数据库,有可能直接把数据库打挂掉。

面对这种问题,解决办法就是给每一个key的过期时间添加一个随机值,然后redis要以集群方式部署,避免redis单点故障导致所有请求打向数据库。
缓存穿透
缓存穿透是指一个请求查询的数据在缓存中没有,在数据库中也没有,这种请求每次都会直达数据库,向穿过了缓存层一样。如果客户端不断的发起这样的请求,就会造成大量的无效查询,如果是黑客通过某种手段制造这种大量的无效请求打向数据库,也有可能把数据库打挂掉。

解决办法有如下几种:
- 添加校验规则,过滤无效请求
- 缓存一个空值到redis,并设置一个较短的过期时间
- 使用布隆过滤器
布隆过滤器
布隆过滤器是基于bitmap加多个hash函数组成的一个用于判断一个ke

本文介绍了Redis中的缓存问题,包括缓存雪崩的原理与解决策略(随机过期时间和集群部署),缓存穿透的概念以及利用布隆过滤器和分布式锁的方法。此外,还探讨了Redis的高级用法,如bitmap和HyperLogLog在基数统计中的应用。
最低0.47元/天 解锁文章
——缓存雪崩、缓存穿透、缓存击穿、Redis高级用法&spm=1001.2101.3001.5002&articleId=135895103&d=1&t=3&u=4adea10f439149a98ff28e6f268322c8)
173万+

被折叠的 条评论
为什么被折叠?



