Heim > Artikel > Backend-Entwicklung > Ausführliche Erklärung, wie Yii ungenaue Aktualisierungsdaten verhindert, die durch Parallelität verursacht werden
Wie verhindert Yii ungenaue Aktualisierungsdaten, die durch Parallelität verursacht werden? In diesem Artikel wird hauptsächlich die einfache Lösung von Yii vorgestellt, um zu verhindern, dass Parallelität zu ungenauen Aktualisierungsdaten führt. Freunde in Not können sich darauf beziehen. Ich hoffe, es hilft allen.
Teilen Sie einen nützlichen Code von Yii:
Wenn Sie ein bestimmtes Feld in der Datenbank erhöhen müssen, z. B. um die Anzahl der Abfragen pro Tag zu zählen, fügen Sie hinzu request_count nach jeder Anfrage +1,
Wenn Sie so schreiben:
$model->request_count++; $flag = $model->save();
wird es ungenau, wenn Sie auf Parallelität stoßen. Sie können es ändern in:
$flag = static::updateAll([ 'report_count' => new \yii\db\Expression("`request_count` + 1") ], [ 'id' => $model->id ]);
Öffnen Sie sechs Prozesse gleichzeitig zum Einfügen. Durch die Erhöhung jedes Prozesses um das 100-fache wurde die erste Methode nur auf 587 und die zweite Methode auf 600 erhöht.
Verwandte Empfehlungen:
Yii löst das Problem von „DeleteAll“. Fehlermeldung beim Löschen der Verbindungstabelle
Das obige ist der detaillierte Inhalt vonAusführliche Erklärung, wie Yii ungenaue Aktualisierungsdaten verhindert, die durch Parallelität verursacht werden. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!