1
我在Memcached上保存MySQL查詢結果時考慮了一致性。更新會發生什麼?在Memcached中緩存MySQL查詢的結果並確保更新的一致性
更新時,數據從Memcached中刪除。
但是......請考慮以下情形在下列操作發生順序如下:
- 客戶端發送一個更新請求API服務器。
- 客戶端B向API服務器發送GET請求。
- 這兩個請求都並行執行。
- 處理客戶端B請求的腳本從數據庫中提取數據。
- 處理客戶端A請求更新數據庫數據的腳本。
- 處理客戶端A請求的腳本向memcached發送刪除請求。
- 處理客戶端B請求的腳本向memcached發送插入請求。
在這種情況下,memcached會填充舊數據。
如何確保此方案的一致性?