Thinkphp3.2如何处理大规模并发写入问题
1.大规模并发写入,出现数据库锁死,数据写入失败,数据表损坏等问题
2.锁表需要配合事务使用
3.具体代码如下
M()->startTrans(); $lot_check = M()->table('order')->lock(true)->where(['id' => $id])->field('id,type')->find(); $data = ['status'=>2]; $res = M()->save($data); if($res) { M()->commit(); #提交事务 }else{ M()->rollback(); #回滚事务 }
4.采用的方法主要就是事务配合锁表,解决大并发写入问题