美文网首页
缓存穿透,缓存雪崩,缓存击穿的简介以及解决方案

缓存穿透,缓存雪崩,缓存击穿的简介以及解决方案

作者: 把早晨六点的太阳留给我 | 来源:发表于2018-07-03 21:31 被阅读0次

    缓存穿透

    1.简介

    当数据库查询一个一定不存在的数据,由于数据不存在在缓存区,所以请求会发送到存储层,若有人一直使用不存在的数据进行查询,这个数据会一直发送到存储层如果流量过大,很容易使得数据库崩溃

    2.解决方案

    1.最常见的则是采用布隆过滤器,将所有可能存在的数据哈希到一个足够大的bitmap中,一个一定不存在的数据会被 这个bitmap拦截掉,从而避免了对底层存储系统的查询压力。2.如果一个查询返回的数据为空(不管是数 据不存在,还是系统故障),我们仍然把这个空结果进行缓存,但它的过期时间会很短,最长不超过五分钟。

    缓存雪崩

    1.简介

    指我们对于缓存过期时间设置的相同,当缓存同时过期同时向数据库请求保存,数据库瞬时接收到大量数据而产生的缓存雪崩

    2.解决方案

    可以对于缓存失效时间在基础上加有个随机数,使得缓存失效时间相同的可能性较小

    缓存击穿

    1.简介

    缓存在某个时间点过期的时候,恰好在这个时间点对这个Key有大量的并发请求过来,这些请求发现缓存过期一般都会从后端DB加载数据并回设到缓存,这个时候大并发的请求可能会瞬间把后端DB压垮

    2.解决方案

    使用互斥锁
    "提前"使用互斥锁
    "永远不过期"
    资源保护

    相关文章

      网友评论

          本文标题:缓存穿透,缓存雪崩,缓存击穿的简介以及解决方案

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