Redis之穿透、击穿、雪崩讲解,及解决方案

1、缓存穿透

        1.1、问题描叙

        当系统中引入redis 缓存后,一个请求进来后,会先从 redis 缓存中查询,缓存有就直接返回,缓存中没 有就去db 中查询, db 中如果有就会将其丢到缓存中,但是有些 key 对应更多数据在 db 中并不存在,
        每次针对此次key的请求从缓存中取不到,请求都会压到 db ,从而可能压垮 db
比如用一个不存在的用户 id 获取用户信息,不论缓存还是数据库都没有,若黑客利用大量此类攻击可能压垮数据库

        1.2、解决方案

1)对空值缓存

        如果一个查询返回的数据为空(不管数据库是否存在),我们仍然把这个结果(null )进行缓存,给其设置一个很短的过期时间,最长不超过五分钟
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值