高並發情況下如何保證數據的一致性


1.業務層面樂觀鎖CAS,使用版本號解決ABA問題,實際使用中使用時間戳,更新的時候把查出來的時間戳帶上,如果更新失敗可以自旋,獲取最近值和時間戳,直到更新成功。
2.DB層面開啟一個事務,然后select一行for update給這一行加上排它鎖,再去更新行,然后提交,其他事務就會阻塞在select for update。
3.分布式鎖適合競爭不激烈的情況保證一致性,因為性能比較差,按CAP理論來講應該是保證了CP放棄了A,zk或者redis保證一致性P,只有拿到鎖的線程才能執行,保證一致性C


免責聲明!

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



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