緩存問題集合

緩存數據庫雙寫不一致問題

  • 問題描述:

高併發下,需要同時更新緩存及數據庫,因爲更新順序導致讀取緩存的值與db值不一致的情況。

  • 解決方案:

  1. 延時雙刪:先刪除緩存後更新db,再延時n ms後刪除緩存。可保證在延時刪除緩存後讀取緩存獲取到的值與db更新後的值一致。
  2. 異步更新緩存(基於訂閱binlog的同步機制):阿里的canal可對Mysql的binlog進行訂閱
  1. 讀Redis:讀操作熱數據都儲存在redis
  2. 寫mysql:寫操作增刪改都在mysql
  3. 更新redis:訂閱mysql的binlog更新日誌對redis進行異步更新

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章