在異步更新數據庫時,如何保證數據的一直性


在游戲服務器開發時,考慮到數據更新的性能問題,好多數據都不使用外鍵約束,每張表采用異步更新的方式,追求最級的一致性,但是這樣做會導致數據的完整性受到影響,比如在游戲中,花了500鑽石買了一個裝備,鑽石扣了,這時系統掛了,導致裝備沒有給我,這就讓人受不了,只能通過客服手動找回。

還有種自動的解決方法,就是給每次數據同步更新添加一個版本號,每次所有數據都更新完了,版本加一,這個版本號對於單個用戶來說是唯一的,數據的使用也依賴於版本號。每個用戶的數據當前使用的是哪一個版本,由版本號表決定,這個表是一個用戶id對應一個版本號,每次數據全部更新成功就把這個版本號加一,這樣就能保證使用數據時所有的數據都是同一個版本且是一致的


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM