緩存與數據庫一致性解決方案

首先,能放入緩存的數據其實不要求100%跟數據庫一致。具體看場景。

如果回答先更新數據再刪除緩存,不行。

如果回答先更新緩存再更新數據庫,也不行。

方案: 讀寫分離,讀只讀緩存,讀不到才讀數據庫,同時設置緩存。寫的時候,可採用隊列機制處理寫請求,同時加上事務保證強一致性。可以再加入重試機制。成功消費之後才刪除隊列數據。如果讀取數據時候發現同個業務id 數據涉及到寫操作,則讀操作也入隊,等待寫完成才讀取數據。下面是簡單的流程圖:

緩存與數據庫一致性解決方案



分享到:


相關文章: