zoukankan      html  css  js  c++  java
  • 缓存三大问题

    1. 缓存穿透 :

      查询一个一定不存在的数据。因为缓存中无该数据数据,所以要查询数据库。如果频繁请求不存在的数据,因请求都会到达数据库层而导致db瘫痪。

      解决方案:

      缓存查询的空值,但设定比较短的失效时间。

    2. 缓存雪崩:

      所有的缓存同一时间失效,则所有的请求都会发送到数据库层,db可能无法承受如此大的压力导致崩溃。

      解决方案:

      从某个适当的值域中随机一个时间作为失效时间。

    3. 缓存击穿

      热点的缓存失效,此时可能依然有大量的请求,这些请求都会发送到db层从而引起故障。

      解决方案:

      热点可能随着时间的变化而变化,针对固定的数据进行特殊缓存是不行的。可以用LRU(Least Recently used, 最近最少使用)算法。

      

  • 相关阅读:
    C#学习历程(三)[基础概念]
    C#学习历程(二)[基础知识]
    C#学习历程(一)[基础概念]
    mvp和mvc的区别
    Java基础摘要(一)
    web前端概念摘要(一)
    Reflection_1
    后台管理_GMS_1
    模板收藏_1
    需求收藏_1
  • 原文地址:https://www.cnblogs.com/yintingting/p/10348823.html
Copyright © 2011-2022 走看看