經典快取模式
旁路快取
讀資料
首先讀快取,
- 如果快取中有這個資料,直接返回
- 如果快取中沒有這個資料,去讀資料庫,
- 如果資料庫中有這個資料,先把這個資料更新到快取,再返回資料
- 如果資料庫也沒有這個資料,返回無資料
寫資料
先更新資料庫,再刪除快取
讀寫穿透快取
這個模式在使用者和快取之間多了一個抽象快取層,
讀操作
- 使用者請求抽象快取層讀取資料
- 抽象快取層讀取快取資料,
- 如果成功讀到快取資料,直接返回
- 如果在快取中讀取失敗,再去讀資料庫
- 如果在資料庫中成功讀取到了資料,返回給抽象快取層
- 抽象快取層負責寫入快取資料
- 抽象快取層把資料返回給使用者
寫操作
- 使用者請求更新資料庫
- 抽象快取層更新資料庫
- 抽象快取層更新快取
非同步快取寫入
使用者申請抽象快取層更新資料
抽象快取層只更新快取資料
後臺執行緒批次把快取資料更新到資料庫