yii插入数据库防并发

Posted dragon16

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了yii插入数据库防并发相关的知识,希望对你有一定的参考价值。

分享yii的一段有用的代码:
当需要让数据库某字段自增时,比如统计每天的查询量,每次请求后都把request_count+1,
如果这样写:
$model->request_count++;
$flag = $model->save();
遇到并发时会不准确,可改为:
$flag = static::updateAll([
‘report_count‘ => new \yii\db\Expression("`request_count` + 1")
], [
‘id‘ => $model->id
]);
同时开六个进程插入,每个进程增加100次,第一种方法只增加到了587,第二种方法增加到了600。












以上是关于yii插入数据库防并发的主要内容,如果未能解决你的问题,请参考以下文章

Yii 框架 -> 我的插入前数据库未在 save() 上触发

Yii2中的Active Record可以批量插入数据吗

yii框架学习

如何在Yii2中插入批量数据库?

Yii2 批量插入

Yii 读取CVS文件内容插入到数据库