如何保證數據一致性


1、聲明式事務。@Transcation

   ----  問題: 大量的操作在一個函數里,會導致鎖的時間長,特別是中間夾雜第三方操作的時候,進而導致響應超時,或者數據庫線程池被占光。

2、編程使事務 TranscationTemplate

    並且用帶版本號的樂觀鎖。

            表中加version字段,表示版本。

    先確定要修改記錄的version值位 100

       在TranscationTemplate的執行方法中,執行SQL語句:UPDATE TABLE SET COL1='',VERSION=VERSION+1 WHERE COL2='' AND VERSION = 100;

      並且獲取返回值,也就是修改掉的條數。

        如果條數為1,表示修改成功,也就是可以往下走了。

        如果條數不為1,表示修改失敗,也就是不可以往下走。

         ----- 問題,沒法回滾了。


免責聲明!

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



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