zoukankan      html  css  js  c++  java
  • 缓存大并发问题处理

    一.缓存雪崩

    大量的key同时失效,在量请求同时请求数据库,在数据库撑不住压力时就会引起整个系统崩溃。

    解决办法:

    1.设置随机失效时间

    2.设置key永久有效,同时设置定时任务或者用户执行异步清理缓存,不要同时清理大量缓存,最好有些时间间隔

    二.缓存穿透

    缓存和数据库中都找不到对应的key,每次请求都要查询数据库,这种请求多的话数据库也会撑不住压力。

    解决办法:

    1.接口校验,屏蔽不规范的key

    2.当数据库没有数据时,设置key=null存入缓存,这样就不会频繁访问数据库

    三.缓存击穿

    热点key在失效期间被大并发用户请求,引起数据库压力瞬间增大

    解决办法:

    1.设置永不失效

    2.在缓存失效访问数据时加互斥锁

  • 相关阅读:
    webpack初体验
    Sql server 数据库 单用户切换为多用户
    JAVA加密
    TransactionScrope 2
    TransactionScrope
    ORA-14450
    C#.NET 各种连接字符串
    如何获取得到新浪的授权?
    加载JSON文件,Plist文件
    屏幕截图
  • 原文地址:https://www.cnblogs.com/guoyinglin/p/13108401.html
Copyright © 2011-2022 走看看