在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/PHP  數(shù)據(jù)庫/ ThinkPHP 事務鎖

ThinkPHP 事務鎖

ThinkPHP 的 事務鎖 該怎么樣使用
在并發(fā)請求時,生成的訂單會超過庫存
該怎怎么辦

function {
            ...
            // 查詢庫存
            ...
            // 用戶積分是否足夠
            ...
            // 生成訂單并扣除庫存

            ...
   }
回答
編輯回答
來守候

function {
1.開啟事務

 // 查詢庫存(2.使用表鎖或者行鎖(防止高並發(fā)出現(xiàn)數(shù)據(jù)錯誤,但性能消耗會高,推薦行鎖) 假如你這裡考慮到性能問題,建議考慮使用nosql或者使用樂觀鎖。)
 // 用戶積分是否足夠(3.不夠就rollback)
 // 生成訂單并扣除庫存

4.提交事務
}

2017年4月26日 21:42
編輯回答
扯不斷
2018年2月15日 14:12
編輯回答
失心人

扣除庫存 和 生成訂單 都放在事務操作里面

function {
            ...
            // 查詢庫存
            ...
            // 用戶積分是否足夠
            //開始事務
            ...
            // 生成訂單并
            
            //除庫存
             //提交事務,失敗則回滾
            ...
   }
2017年10月23日 18:09