某個時刻,多個系統實例都去更新某個 key。可以基於 zookeeper 實現分佈式鎖。每個系統通過 zookeeper 獲取分佈式鎖,確保同一時間,只能有一個系統實例在操作某個 key,別人都不允許讀和寫。
你要寫入緩存的數據,都是從 mysql 裏查出來的,都得寫入 mysql 中,寫入 mysql 中的時候必須保存一個時間戳,從 mysql 查出來的時候,時間戳也查出來。
每次要寫之前,先判斷一下當前這個 value 的時間戳是否比緩存裏的 value 的時間戳要新。如果是的話,那麼可以寫,否則,就不能用舊的數據覆蓋新的數據。