天天看點

什麼是緩存雪崩,如何解決?

緩存雪崩 就是指由于緩存的原因,導緻大量請求到達後端資料庫,進而導緻資料庫崩潰,整個系統崩潰,發生災難。

緩存雪崩解決方案:

A. 給緩存的失效時間,加上一個随機值,避免集體失效。

B. 使用互斥鎖,但是該方案吞吐量明顯下降了。

C. 雙緩存,我們有兩個緩存,緩存 A 和 緩存 B。

緩存 A 的失效時間為 20 分鐘,緩存 B 不設失效時間。自己做緩存預熱操作。然後細分一下幾個小點:從緩存 A 讀資料庫,有則直接傳回;A 沒有資料,直接從 B 讀資料,直接傳回,并且異步啟動一個更新線程,更新線程同時更新緩存 A 和 緩存 B。