压在redis身上的三座大山

三座大山分别是缓存穿透,缓存击穿,缓存雪崩

缓存穿透:查询参数是无效的key,这个key在redis没有,然后取数据库查也查不到,导致无用查询。解决方法有两个 1是value设置成null。2是使用布隆过滤器,布隆过滤器可以看出一个数组,然后我们对key进行多次不同hash运算,然后对长度取模,对应位置标记成1,下次有key来的时候先判断这个布隆过滤器对应的下标是不是都是1,如果不是就是没有的key。

缓存击穿:热点key失效了,然后突然有很高的并发来查询这个key,导致很多查询跑到数据库去。解决方法是 对key进行加锁,一次只能有一个线程去数据库查,查完后在设置到redis力,这里面可以用双重检查进行优化,当然这个锁可能得用到分布式锁。

缓存雪崩:在一个时间段key集体失效,导致大量查询跑到数据库。解决方案是每个key设置不同的过期时间,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值