亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

mysql數據庫并發問題解決方案?

mysql數據庫并發問題解決方案?

冷魘 2017-10-01 22:22:32
最近寫購物程序時當考慮到并發情況下避免出現超額購買的問題。想了下面如圖1這個流程當接到買入請求時更新庫存(操作方式如圖2)操作返回int i若為1則表示庫存足夠,可以購買。0則表示庫存不足。若更新庫存成功則開啟事務(允許用戶進行支付操作,這里會引用外部api,由于事務允許并發,所以不會干擾性能,考慮到支付操作時是針對的單行記錄,其他線程不會對此事務造成干擾引起錯亂)問題1:現在不明白的是圖2中標注出的那一行,他的返回的原理是什么。內部是否是原子性的實現,若內部實現采用的是類似row_count(),在并發情況下就會出現獲取返回條目與實際不符,導致判斷出錯。問題2:這種流程還會出現哪些嚴重的問題。-----------------------------------------分割線-----------------------------------------------雖然介紹說事務是原子性的,但并不是真正意義上一個事務執行完才可以執行另一個事務。遇到并發的情況下,多個事務對庫存的同時進行讀操作后再進行寫操作會造成錯誤。 所以在剛接到請求時更新庫存沒有用到事務。
查看完整描述

1 回答

  • 1 回答
  • 0 關注
  • 1938 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號