Redis企业级问题解决方案

简单总结一下。
1.缓存预热问题
导致出现此问题的原因:在Redis还没有读取导数据的时候,有大量的用户访问,这是Redis缓存中没有数据,需要把数据从数据库读到缓存中,这种在短时间内高强度的访问Redis,导致服务器“宕机“。
比较有效的解决办法:使用脚本固定触发数据预热。就是提前把热点数据存放到Redis中。
2.缓存雪崩问题
导致出现此问题的原因:有大量的用户访问数据,在Redis中,同一时间有大量的key过期,用户在访问的时候,Redis缓存中找不到数据,就会去数据库中查找,Redis大量积压访问导致崩溃,重启无效,导致集群瓦解,大量的访问会让数据库崩溃,造成缓存雪崩。
比较有效的解决办法:错峰。在设置的key的过期时间时采用固定时间+随机数的办法设置过期时间,或者设置热点信息不过期。或者设置多级缓存。
3.缓存击穿问题
导致出现此问题的原因:大量的用户访问同一条在Redis中key已经过期的数据,同样能导致数据库崩溃,这种叫做缓存击穿。
解决方案:
a)热点数据,设置key不过期。
b)定时刷新key的过期时间,确保key不过期。
c)多级缓存
4.缓存穿透问题
此类问题多为黑客攻击所致,他们会故意大量的访问一个不存在的key,导致系统和数据库崩溃。
比较有效解决方案:
a)白名单策略:使用布隆过滤器。
b)实时监控Redis命中率与null数据的占比进行排查,把非法的访问加入黑名单。
c)报警

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值