redis-缓存穿透&缓存雪崩处理方案

一 缓存穿透
  1. 什么是缓存穿透
    访问某一key的时候,该key不在redis中,也不在db中,因此当非法用户频繁请求该key的时候,每一次请求,都直接穿过了redis,都最终落在的db上,从而造成宕机,影响整个系统,这种现象称之为缓存穿透
  2. 处理方案
    • 把空的数据也缓存起来,比如空字符串,空对象,空数组
    • 布隆过滤器。使用此方案,需要考虑以下几个问题:有误判率;删除困难;代码复杂
二 缓存雪崩
  1. 什么是缓存雪崩
    每一个key存在过期时间,当某一时刻,大量的key失效,此时又有较大的访问量,则大量请求会直接打到数据库,造成数据库服务器宕机,这种现象称之为缓存雪崩,缓存雪崩无法避免,但可以预防
  2. 处理方案
    • 设置key永不过期
    • 过期时间错开
    • 多缓存结合。例如加一个memcache,先访问redis,若没有再访问memcache(mem中key过期时间更长),再没有则访问db
    • 采购第三方redis。例如aliyun的云redis
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值