緩存雪崩 就是指由于緩存的原因,導緻大量請求到達後端資料庫,進而導緻資料庫崩潰,整個系統崩潰,發生災難。
緩存雪崩解決方案:
A. 給緩存的失效時間,加上一個随機值,避免集體失效。
B. 使用互斥鎖,但是該方案吞吐量明顯下降了。
C. 雙緩存,我們有兩個緩存,緩存 A 和 緩存 B。
緩存 A 的失效時間為 20 分鐘,緩存 B 不設失效時間。自己做緩存預熱操作。然後細分一下幾個小點:從緩存 A 讀資料庫,有則直接傳回;A 沒有資料,直接從 B 讀資料,直接傳回,并且異步啟動一個更新線程,更新線程同時更新緩存 A 和 緩存 B。