在寫庫前后都進行redis.del(key)操作,並且設定合理的超時時間。具體步驟是:
1)先刪除緩存
2)再寫數據庫
3)休眠500毫秒(根據具體的業務時間來定)
4)再次刪除緩存。
那么,這個500毫秒怎么確定的,具體該休眠多久呢?
需要評估自己的項目的讀數據業務邏輯的耗時。這么做的目的,就是確保讀請求結束,寫請求可以刪除讀請求造成的緩存臟數據。
當然,這種策略還要考慮 redis 和數據庫主從同步的耗時。最后的寫數據的休眠時間:則在讀數據業務邏輯的耗時的基礎上,加上幾百ms即可。比如:休眠1秒。
