Maison > Article > développement back-end > Explication détaillée de la façon dont Yii empêche les données de mise à jour inexactes causées par la concurrence
Comment Yii empêche-t-il les données de mise à jour inexactes causées par la concurrence ? Cet article présente principalement la solution simple de Yii pour empêcher la concurrence de provoquer des données de mise à jour inexactes. Les amis dans le besoin peuvent s'y référer. J'espère que cela aide tout le monde.
Partagez un morceau de code utile de Yii :
Lorsque vous devez incrémenter un certain champ dans la base de données, comme compter le nombre de requêtes par jour, ajoutez request_count après chaque demande +1,
Si vous écrivez comme ceci :
$model->request_count++; $flag = $model->save();
ce sera inexact en cas de concurrence. Vous pouvez le remplacer par :
$flag = static::updateAll([ 'report_count' => new \yii\db\Expression("`request_count` + 1") ], [ 'id' => $model->id ]);Ouvrez six processus en même temps pour l'insertion En augmentant chaque processus 100 fois, la première méthode n'a augmenté que jusqu'à 587 et la deuxième méthode est passée à 600.
Recommandations associées :
Yii résout le problème de DeleteAll rapport d'erreur de suppression de table de connexion
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!