redis 的併發競爭問題是什麼?如何解決這個問題?瞭解 redis 事務的 CAS 方案嗎?

某個時刻,多個系統實例都去更新某個 key。可以基於 zookeeper 實現分佈式鎖。每個系統通過 zookeeper 獲取分佈式鎖,確保同一時間,只能有一個系統實例在操作某個 key,別人都不允許讀和寫。

你要寫入緩存的數據,都是從 mysql 裏查出來的,都得寫入 mysql 中,寫入 mysql 中的時候必須保存一個時間戳,從 mysql 查出來的時候,時間戳也查出來。

每次要寫之前,先判斷一下當前這個 value 的時間戳是否比緩存裏的 value 的時間戳要新。如果是的話,那麼可以寫,否則,就不能用舊的數據覆蓋新的數據。

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