分享yii的一段有用的代码:
当需要让数据库某字段自增时,比如统计每天的查询量,每次请求后都把request_count+1,
如果这样写:
1
2
|
$model ->request_count++; $flag = $model ->save(); |
遇到并发时会不准确,可改为:
1
2
3
4
5
|
$flag = static ::updateAll([ 'report_count' => new \yii\db\Expression( "`request_count` + 1" ) ], [ 'id' => $model ->id ]); |
同时开六个进程插入,每个进程增加100次,第一种方法只增加到了587,第二种方法增加到了600。
以上所述是小编给大家介绍的yii插入数据库防并发的简单代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对服务器之家网站的支持!
原文链接:http://www.cnblogs.com/dragon16/archive/2017/05/27/6912293.html