yii如何实现插入数据库防并发

yii如何实现插入数据库防并发

这篇文章将为大家详细讲解有关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如何实现插入数据库防并发”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。