美文网首页
Redis缓存雪崩和缓存穿透

Redis缓存雪崩和缓存穿透

作者: 华木公子 | 来源:发表于2019-08-08 15:55 被阅读0次

    一 缓存雪崩

    主要是redis挂了导致。

    • 缓存雪崩解决方案:
      * redis cluster保证高可用(或者redis replicatiion + sentianl)
      * 系统内部应该有一个备份的缓存,比如ehcache,有临时缓存提供服务
      * 通过hystrix提供限流降级服务,确保到达数据库的请求在一定范围内,多余的请求降级(返回异常等)
      * redis一定要持久化

    二 缓存穿透

    主要是数据库中没有这个数据,导致缓存中也没有数据,于是每次过来的数据请求都会打击到数据库中。可能的情况,就是黑客大量请求的攻击,或者是系统bug导致获取一些不存在的数据。

    • 缓存穿透解决方案:
      获取的数据虽然在数据库中没有,但是只要想办法在缓存中有,那么下次再过来时,就会从缓存中获取了,从而不会穿透到数据库中。 比如获取一个不存在的id,那么就把这个id设定一个固定的特殊值放到redis中,比如null。 这样下一次再过来时,就会从redis中取了。

    相关文章

      网友评论

          本文标题:Redis缓存雪崩和缓存穿透

          本文链接:https://www.haomeiwen.com/subject/ygvxjctx.html