MySQL防止库存超卖方法总结
生活随笔
收集整理的這篇文章主要介紹了
MySQL防止库存超卖方法总结
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
訂單超賣問題是涉及到庫存項目的重中之重,這里我總結一下常用的方法
1、簡單處理【update & select 合并】(樂觀鎖)
beginTranse(開啟事務)$num = 1; try{$dbca->query('update s_store set amount = amount - $num where amount>=$num and postID = 12345'); }catch($e Exception){rollBack(回滾) } commit(提交事務)
還有一種就是加版本號【先select 后 update】
$db->query('update s_store set amount = amount - $num,version = version+1 where version=$version and postID = 12345');?個人更推薦合并的那個
場景:適用于小型應用并發小
2、使用redis隊列
點擊這里查看具體代碼
場景:大型應用高并發
?
總結:以上就是最常見的解決方案,當然也有其他的一些方式,看了后發現還是這兩種更合適,以上兩種方案足以解決正常的各種情況
轉載于:https://www.cnblogs.com/chenhaoyu/p/10371058.html
總結
以上是生活随笔為你收集整理的MySQL防止库存超卖方法总结的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C# 日志
- 下一篇: Jmeter(六)关联之XPath提取器