【Redis知识点总结】(七)——缓存雪崩、缓存穿透、缓存击穿、Redis高级用法

本文介绍了Redis中的缓存问题,包括缓存雪崩的原理与解决策略(随机过期时间和集群部署),缓存穿透的概念以及利用布隆过滤器和分布式锁的方法。此外,还探讨了Redis的高级用法,如bitmap和HyperLogLog在基数统计中的应用。

Redis知识点总结(七)——缓存雪崩、缓存穿透、缓存击穿、Redis高级用法

缓存雪崩

缓存雪崩是指,同一时间有大量的缓存key失效,或者redis节点直接宕机了,造成大量的请求打向数据库,像雪崩一样。

原本我们的redis就像是数据库前面的一堵墙,挡住大量的请求,只有少量的请求打到数据库。

在这里插入图片描述

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

在这里插入图片描述

面对这种问题,解决办法就是给每一个key的过期时间添加一个随机值,然后redis要以集群方式部署,避免redis单点故障导致所有请求打向数据库。

缓存穿透

缓存穿透是指一个请求查询的数据在缓存中没有,在数据库中也没有,这种请求每次都会直达数据库,向穿过了缓存层一样。如果客户端不断的发起这样的请求,就会造成大量的无效查询,如果是黑客通过某种手段制造这种大量的无效请求打向数据库,也有可能把数据库打挂掉。

在这里插入图片描述

解决办法有如下几种:

  • 添加校验规则,过滤无效请求
  • 缓存一个空值到redis,并设置一个较短的过期时间
  • 使用布隆过滤器

布隆过滤器

布隆过滤器是基于bitmap加多个hash函数组成的一个用于判断一个ke

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值