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.采用的方法主要就是事务配合锁表,解决大并发写入问题

posted @ 2023-04-11 17:37  feimengv  阅读(139)  评论(0编辑  收藏  举报