缓存是应用使用非常广泛的手段,也是架构中不可或缺的组成部分。通常我们会将一些变动很少,访问频次较高的数据放入缓存中,这样调用方在请求时,就能够以极快的速度响应,大大提高系统的并发能力。在使用缓存时,会有三个比较普遍的问题出现,我们需要针对性的解决。
缓存穿透
缓存穿透是说,需要访问的数据确实不存在,缓存中没有,持久层中也没有,这样每次访问都会穿透缓存,直接到持久层,且会在持久层执行相同的不必要的逻辑运算。他可能是一种正常的访问场景,但是由于缓存层的处理不到位,导致了非必要的持久层访问。
缓存击穿
缓存击穿是说缓存数据失效了,访问透过缓存层直接到了持久层,他是说缓存失效了的场景。
缓存雪崩
缓存雪崩是指缓存中大面积数据几乎同时失效,导致很多请求直接打到持久层。
以上三种场景是使用缓存是可能遇到的问题,需要应用系统做出相应的策略让缓存发挥最大的价值,保护持久层的安稳。