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如何防止併發導致的更新資料不準的詳細內容。更多資訊請關注PHP中文網其他相關文章!