Maison >base de données >tutoriel mysql >Résumé de 10 exemples de didacticiels sur le contrôle de concurrence
1. Verrouillage pessimiste 1. Verrouillage exclusif Lorsqu'une transaction exploite des données, cette partie des données n'est verrouillée que lorsque l'opération est terminée. Seules les autres opérations de transaction peuvent opérer sur cette partie des données. Cela empêchera d'autres processus de lire ou de modifier les données du tableau. 2. Implémentation : Dans la plupart des cas, cela s'appuie sur le mécanisme de verrouillage de la base de données. Généralement, select ...for update est utilisé pour verrouiller les données sélectionnées, comme select * from account which name="Max" for update, this. SQL L'instruction verrouille tous les enregistrements de la table des comptes qui répondent aux conditions de récupération (name="Max"). Avant que cette transaction ne soit validée (le verrou pendant la transaction sera libéré lorsque la transaction sera validée), le monde extérieur ne peut pas modifier ces enregistrements. 2. Verrouillage optimiste 1. Si quelqu'un met à jour avant vous, votre mise à jour doit être rejetée et l'utilisateur peut ré-opérer. 2.
Introduction : Cet article explique le verrouillage en lecture (verrouillage partagé), le verrouillage en écriture (verrouillage exclusif) 2. Granularité du verrouillage : verrouillage de table (verrouillage de table), verrouillage au niveau de la ligne (verrouillage de ligne ) 3. Verrouillage optimiste et verrouillage pessimiste Verrouillage pessimiste Verrouillage exclusif : lorsqu'une transaction exploite des données, elle verrouille cette partie des données jusqu'à ce qu'elle soit déverrouillée une fois l'opération terminée. Seules les autres opérations de transaction peuvent opérer sur cette partie des données. Cela empêchera d'autres processus de lire ou de modifier les données du tableau. Implémentation : utilisez généralement select ...for update pour verrouiller les données sélectionnées, telles que
<.>Introduction : Chaque fois que plusieurs requêtes doivent modifier les données en même temps, des problèmes de contrôle de concurrence surgissent. Nous discutons ici du contrôle de concurrence de MySQL à deux niveaux : la couche serveur et la couche moteur de stockage. Le contrôle de la concurrence est un sujet très vaste, et il existe une grande quantité de littérature théorique qui en discute en détail. Ici, nous discutons brièvement de la manière dont MySQL contrôle la lecture et l'écriture simultanées. En prenant comme exemple la boîte e-mail du système Unix, le format de fichier mbox typique est très simple. Tous les e-mails d'une boîte aux lettres mbox sont sérialisés ensemble et connectés bout à bout. Ce format est utile pour la lecture et Feixi
3 [MySQL] Contrôle de concurrence multi-versions
4
Explication détaillée du mécanisme de contrôle de concurrence Java
.5
Verrouillage exclusif dans le contrôle de concurrence PHP
Introduction : Verrous exclusifs dans le contrôle de concurrence PHP
6.
contrôle de concurrence PHP Redis téléchargement Redis. outil de visualisation redis cluster redisIntroduction : redis : contrôle de concurrence php redis : pour le contrôle de concurrence, vous pouvez utiliser memcacheq, le canal redirs et d'autres méthodes. Ici, je vais juste parler. à propos de redis. Pour contrôler la concurrence, redis utilise principalement les trois fonctions lPush llen et lPop dans l'API de la liste redis. lLen - Obtenez la longueur de la liste lPop - Supprimez la première de la liste et renvoyez-la. la liste. Si la liste n'existe pas Introduction : Le problème avec shmop est-ce que j'en ai fréquemment besoin dans le programme Lors du traitement d'une donnée, je ne veux pas interroger MySQL à chaque fois, donc je retire les enregistrements à utiliser et j'utilise shmop pour les stocker dans la mémoire pour une modification ultérieure. Cependant, pendant le processus d'écriture, j'ai soudainement pensé à un problème de contrôle de concurrence, et je ne savais pas comment le résoudre : function function1() {Lire les données mémoire pendant une longue période (ligne modifiée x1) Écrire les données mémoire} function function2 Introduction : Le problème avec shmop est le suivant, j'en ai besoin dans le programme Je traite fréquemment une donnée et je ne veux pas interroger MySQL à chaque fois, je retire donc les enregistrements à utiliser et j'utilise shmop pour les stocker dans la mémoire pour une modification ultérieure. Cependant, pendant le processus d'écriture, j'ai soudainement pensé à un problème de contrôle de concurrence, et je ne savais pas comment le résoudre : function function1() {Lire les données mémoire pendant une longue période (ligne modifiée x1) Écrire les données mémoire} function function2 Introduction : Le contrôle de concurrence d'ACCESS est très médiocre, pensez à fermer la base de données après chaque opération Introduction : Comparaison du contrôle de concurrence (verrous) entre DB2 et Oracle [Recommandations de questions-réponses associées] : Multi-threading - notify/notifyAll de java : Comment notifier le thread spécifié ? java - Comment empêcher la suppression des informations solides de mémorisation avec le même nom d'utilisateur après que Spring Security ait activé le contrôle de concurrence de session ? Comment afficher les colonnes cachées d'une table Mysql ? Contrôle de concurrence optimiste : pourquoi Redis utilise le verrouillage optimiste, mais pas la base de données MySQL. Lesquels ?
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!