Problème de mise en cache dans la base de données MySQL : récupération de données périmées après suppression et insertion
Dans les applications Web Python, la gestion des sessions utilisateur est une tâche cruciale. Cependant, certaines implémentations utilisant des connexions MySQL rencontrent un problème : malgré la suppression d'anciennes sessions et la création de nouvelles, certaines connexions récupèrent des données obsolètes lors des sélections de bases de données ultérieures. Cela entraîne des échecs de validation de session et la nécessité pour les utilisateurs de se reconnecter.
Cause première
La cause première de ce problème réside dans le niveau d'isolement par défaut de MySQL, " LECTURE RÉPÉTABLE." Avec ce paramètre, les connexions au sein d'une transaction sont isolées des modifications apportées par d'autres connexions après le début de la transaction, que ces modifications aient été validées ou non.
Solution
Pour résoudre ce problème, il existe deux approches principales :
Mettre fin au Transaction :
Modifiez le niveau d'isolement :
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!