redis 缓存穿透 缓存击穿 缓存雪崩的区别

缓存穿透

特点: 用户高并发环境下,访问数据库中根本不存在的数据.(缓存和数据库中都没有的数据)
影响:由于用户高并发访问,则数据库可能存在宕机的风险.
解决方案:1).API网关
2).限定IP的访问次数

缓存击穿

特点:只影响一段时间(时间较短)
影响:由于用户高并发的访问. 访问的数据刚开始有缓存,但是由于特殊原有 导致缓存(少量)失效 ,用户的请求直接访问数据库 (缓存中没有但数据库中有的数据)引起数据库压力瞬间增大
解决方案:
1.让业务查询多个redis并且保证数据不在同一时间删除即可
2.设置热点数据永不过期。

缓存雪崩

缓存雪崩是指缓存中有大量的数据在同一时间超时(删除),而查询的数据量庞大,引起数据库压力过大甚至宕机。和缓存击穿不同的是,缓存击穿指并发查询同一条数据,缓存雪崩是不同数据都过期了,很多数据都查不到从而查询数据库。

解决方案:
1.缓存数据的过期时间设置为随机,防止同一时间大量数据过期现象的发生。
2.如果缓存数据库是分布式部署,将热点数据均匀分布在不同搞得缓存数据库中。
3.设置热点数据永远不过期。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值