天天看点

什么是缓存雪崩,如何解决?

缓存雪崩 就是指由于缓存的原因,导致大量请求到达后端数据库,从而导致数据库崩溃,整个系统崩溃,发生灾难。

缓存雪崩解决方案:

A. 给缓存的失效时间,加上一个随机值,避免集体失效。

B. 使用互斥锁,但是该方案吞吐量明显下降了。

C. 双缓存,我们有两个缓存,缓存 A 和 缓存 B。

缓存 A 的失效时间为 20 分钟,缓存 B 不设失效时间。自己做缓存预热操作。然后细分一下几个小点:从缓存 A 读数据库,有则直接返回;A 没有数据,直接从 B 读数据,直接返回,并且异步启动一个更新线程,更新线程同时更新缓存 A 和 缓存 B。