zoukankan      html  css  js  c++  java
  • [redis] -- 缓存雪崩和缓存穿透、缓存击穿问题解决方案篇

    • 缓存雪崩

      • 缓存同一时间大面积的失效,所以,后面的请求都会落到数据库上,造成数据库短时间内承受大量请求而崩掉
      • 解决方案
        • 事前:尽量保证整个redis集群的高可用性,发现机器宕机尽快补上。选择合适的内存淘汰策略。
        • 事中:本地ehcache缓存+hystrix限流&降级,避免MySQL崩掉
        • 事后:利用redis持久化机制保存的数据尽快恢复缓存
    • 缓存穿透

      • 缓存穿透说简单点就是大量请求的 key 根本不存在于缓存中,导致请求直接到了数据库上,根本没有经过缓存这一层
      • 解决方案
        • 参数校验
        • 缓存无效 key
        • 布隆过滤器
    • 缓存击穿

      • 热点缓存失效,导致后面的请求都落到数据库上,造成数据库短时间内承受大量请求,压力多大
      • 解决方案
        • 设置热点数据永远不过期
        • 互斥锁
    • 缓存雪崩与缓存击穿不同的是

      • 击穿针对同一条数据,而雪崩是大量的缓存
    明明可以靠才华吃饭,非要靠脸~
  • 相关阅读:
    [转载]初学C#之list
    List<>过滤重复的简单方法
    C# List<> 删除
    C# 生成随机字符串
    C#正则表达式之字符替换
    c#中怎么删除一个非空目录
    treeview 点击时选中节点
    教程链接
    iOS 允许后台任务吗?
    Git Add,Git别名等
  • 原文地址:https://www.cnblogs.com/lycsmzl/p/13213766.html
Copyright © 2011-2022 走看看