缓存穿透,缓存击穿,缓存雪崩(通俗易懂)

缓存穿透

用户不停的访问不存在的数据,缓存中查不到,会去数据库查,对数据库造成压力,可能会崩溃。
解决办法
1.对查询的传的参数进行筛选(key!=负数)。
2.当用户从数据库中查不到数据时,向缓存中传入key=null或0或’’。
3.缓存预热,将数据库中的数据全部放进缓存中,当查不到数据时,也不会访问数据库,当数据发生变化时(增,删,改)再进行重新同步。

缓存击穿

当缓存中的一条数据过期时,在同一时间大量用户访问数据库中的同一条数据。
解决办法
1.设置热点(用户访问量大的)数据永不过期!
2.缓存预热!
缓存穿透和缓存击穿的区别
穿透是访问不存在的数据(一般是恶意的)
击穿是高并发的时候同一时间查询同一条过期数据引起的(一般不是恶意的)

缓存雪崩

是指大量缓存同时失效,造成数据库压力过大甚至down机。
解决办法
1.设置过期时间为随机,避免大量数据同一时间过期。
2.设置热点数据永不过期。
3.缓存预热。
缓存击穿和缓存雪崩的区别
击穿是指某一条数据过期,大量用户同一时间进行访问。
雪崩是指大量数据同一时间过期,给数据库造成压力。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值