資料併發的解決

2021-07-10 15:30:00 字數 542 閱讀 6009

給表加乙個字段表示修改的時間,或者也可以是乙個隨機數

1   比如user1修改了記錄record1,然後寫入標示字段   當前的時間或者是隨機數例如:441365

2   然後user2讀出了記錄record1,當然需要讀出標示字段:441365

3   user2   編輯了record1的值  

4   user3讀出了記錄record1,

5   user3修改了record1的值   並更新到資料庫中,   更新的時候需要寫上   where   標示字段=443165

並且使用新的標示值例如:638413

6   user2   將record1資料更新到資料庫中,更新的時候需要寫上   where   標示字段=443165

但是這個時候,record1的標示字段已經變成了638413   ,所有沒有更新成功

7   提示未更新成功,因為其它使用者已經修改了record1

非常好

ms提供了處理併發問題的方案,就是加lock,其中lock分4個等級[記不清楚了]。。。查一下msdn就有了.

解決併發導致資料異常問題

通常我們資料異常是由於併發導致的,那麼我們如何避免這種問題呢?舉例 當使用者買充值卡時,我們一般會先查取資料庫,然後改資料狀態,給使用者返回充值卡號,那問題來了 當同一時刻的使用者一起購買充值卡時,就可能造成買到同乙個充值卡,從而導致資料異常 解決方案 1 如果併發並不是很高的情況下,我們可以考慮悲...

高併發和大資料的解決方式

現在,軟體架構變得越來越複雜了,好多技術層出不窮,令人眼花繚亂,解決這個問題呢,就是要把複雜問題簡單化,核心就是要把握本質。軟體剛開始的時候是為了實現功能,隨著資訊量和使用者的增多,大資料和高併發成了軟體設計必須考慮的問題,那麼大資料和高併發本質是什麼呢?本質很簡單,乙個是慢,乙個是等。兩者是相互關...

解決資料庫併發下的髒資料的思考

size large color blue 一般解決資料庫髒資料的問題,常常用到樂觀鎖和悲觀鎖。樂觀鎖是在我取出資料進行操作前獲取到當前乙個時間戳,當更新的時候在對比下時間戳。如果時間戳相同則更新,否則不更新。悲觀鎖則是在取出資料的時候將這條資料加鎖,其他要獲取操作這條資料的動作要等到釋放鎖之後才能...