redis快取相關問題及解決方案

丟雷勞謀發表於2020-12-10

快取問題
擊穿,穿透,雪崩,一致性
解決方案:
1.擊穿:給操作加鎖(快取為空,查資料庫,更新快取)
2.穿透:查資料庫,儲存返回空值,或者使用布隆過濾器過濾資料庫中沒有的資料
3.雪崩:設定隨機過期時間
4.資料一致性:雙寫(更新資料庫,並且更新快取),失效模式(寫資料庫,刪除快取,快取的更新由讀操作完成),二者的共同問題:操作非原子操作,需要加鎖。
一致性解決方案:
    1)快取的所有資料都有過期時間,資料過期下一次查詢觸發主動更新
    2)讀寫資料的時候,加上分散式讀寫鎖。(在經常寫,經常讀的場景下會影響效能,在寫少讀多的情況下沒有影響)

一直性問題相關元件canal
 

相關文章