缓存三大问题
Posted yintingting
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了缓存三大问题相关的知识,希望对你有一定的参考价值。
1. 缓存穿透 :
查询一个一定不存在的数据。因为缓存中无该数据数据,所以要查询数据库。如果频繁请求不存在的数据,因请求都会到达数据库层而导致db瘫痪。
解决方案:
缓存查询的空值,但设定比较短的失效时间。
2. 缓存雪崩:
所有的缓存同一时间失效,则所有的请求都会发送到数据库层,db可能无法承受如此大的压力导致崩溃。
解决方案:
从某个适当的值域中随机一个时间作为失效时间。
3. 缓存击穿
热点的缓存失效,此时可能依然有大量的请求,这些请求都会发送到db层从而引起故障。
解决方案:
热点可能随着时间的变化而变化,针对固定的数据进行特殊缓存是不行的。可以用LRU(Least Recently used, 最近最少使用)算法。
以上是关于缓存三大问题的主要内容,如果未能解决你的问题,请参考以下文章