【随笔记】Redis(四)缓存雪崩、击穿、穿透面试知识点

由简入繁,水滴石穿。

Redis 缓存雪崩

这个很好理解,就是所有缓存在同一时间过期,统一时间进行缓存刷新,系统承受不住压力从而崩溃。

这个问题在开发阶段就需要多加注意,解决方案不难想出。与单机服务架构使用Ehcache类似,每一个缓存进行单独的时间时间控制,多组缓存失效时间错开,将查询频率高使用频繁的缓存进行细化,筛选排列优先级保证缓存失效时间不一致就可以,或者设置成不过期,定时更新就好。

Redis 缓存击穿

击穿与雪崩类似,简单讲就是有用户在不停的请求一个连接,反复获取这个数据,频率很快;当这个缓存有效期到期后,会直接查询数据库;这里本来是没是的,因为是正常流程,但是这个请求频率快,会导致多组请求都到数据库,造成崩溃。

Redis 缓存穿透

这个更好理解,就是用户查询一个缓存内不存在的key,常规流程是缓存中没有就去查询数据库,但碰巧数据库也没有;如果这个用户是攻击者,那就会持续使用这个不存在的查询条件发起请求,造成压力从而击垮数据库。

这种方式的解决办法有很多,可以使用BloomFilter进行拦截。也可以使用Hystrix进行限流。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值