Maison > Article > base de données > Introduction détaillée au verrouillage pessimiste
PHP-MALL1. Le centre commercial se précipite pour acheter, la survente des stocks de vente flash est un casse-tête, les trois méthodes suivantes sont utilisées pour éviter la survente 1. Mécanisme de verrouillage mysql, verrouillage pessimiste Schéma de verrouillage au niveau de la ligne InnoDB, non recommandé, il met plus pression sur la base de données En cas de blocage, les mises à jour ne seront jamais possibles à moins que le processus ne soit arrêté. 2.mysql Verrouillage optimiste Cette solution peut être utilisée sans recourir à un tiers 3. Redis augmente le fonctionnement atomique pour éviter la survente 4. Afin de faciliter l'expansion, la classe d'inventaire est extraite de l'interface pour faciliter l'expansion future. Vous pouvez également utiliser d'autres méthodes pour implémenter le mécanisme de verrouillage mysql 1.1, le verrouillage pessimiste, le schéma de verrouillage au niveau des lignes InnoDB et les besoins de requête. index 1. Le niveau de transaction doit être le niveau SERIALIZABLE 2. Interrogez les conditions pour vérifier si l'inventaire est suffisant pour cet achat, par exemple : id = 1 AND inventaire >=1 3. Une fois la mise à jour du PDO mise à jour, vous devez non seulement vérifier
1 Ventes flash dans les centres commerciaux pour éviter la survente des stocks
Introduction : PHPMALL 1. Les achats précipités dans les centres commerciaux, la survente des stocks de vente flash sont un casse-tête, voici trois méthodes pour éviter la survente : mécanisme de verrouillage mysql, verrouillage pessimiste, niveau de ligne InnoDB. lock Solution, la requête doit utiliser l'index 1.2 mysql optimiste lock 1.3 redis atomique opération 2. Test 3. Adresse du code source du problème : https://github.com/jingyanlei/PHPMALL
2 Explication détaillée par MySQL des diverses distinctions de verrouillage et MVCC
Introduction : les verrous MySQL. On dirait qu'il y en a beaucoup, et j'ai vérifié la plupart des informations, y compris les verrous de table, les verrous de ligne, les verrous de page, les verrous partagés, les verrous exclusifs, les verrous d'intention, les verrous de lecture, les verrous d'écriture, les verrous pessimistes et les verrous optimistes. . J'y vais, j'ai vraiment envie de demander, y a-t-il des mèches dorées ? J'ai toujours Fan Bingbing. . . Oups, pourquoi est-ce si compliqué ? Alors faisons le tri et résumons-le. Plus tard, il y a une compréhension et des exemples de mvcc sous innodb, qui sont simples et faciles à comprendre. Table/row/page-lock : verrouillage au niveau de la table : M
3 Optimisation de la base de données MySQL (3) - Verrouillage pessimiste MySQL et verrouillage optimiste (contrôle de concurrence)
Introduction : Cet article parle des verrous en lecture (verrous partagés) et des verrous en écriture (verrous exclusifs) ) 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 opère sur des données, cette partie des données est verrouillée jusqu'à ce que l'opération soit terminée. Après déverrouillage, d’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, comme
4
Il s'agit toujours de la question du verrouillage pessimiste, entre start et commit , peut-il y avoir plusieurs instructions de mise à jour ?
Introduction : Toujours à propos du problème du verrouillage pessimiste, peut-il y avoir plusieurs instructions de mise à jour entre le début et la validation ?5.
Une brève analyse du verrouillage pessimiste et du verrouillage optimiste d'Oracle
Introduction : Le verrouillage pessimiste dans Oracle est utiliser Oracle Connection verrouille les données. Dans Oracle, la perte de performances causée par l'utilisation de ce verrouillage au niveau des lignes est très faible, faites simplement attention au programme6
Verrouillage optimiste et verrouillage pessimiste<.>Introduction : Xiaojing a récemment soumis un PR à Skynet. Nous en avons longuement discuté avant d'en parler. On dit que c'est parce que lors de la vérification d'un autre problème, nous avons réécrit la partie de planification des messages de skynet et avons constaté que dans certains cas, l'utilisation du processeur pouvait être améliorée. Auparavant, la planification des messages de Skynet adoptait une structure sans verrouillage basée sur cas. Mais en substance, la structure des données de la file d'attente simultanée, qu'elle soit
7
Verrouillage optimiste et verrouillage pessimiste. Introduction : Le concept de verrouillage nous a été exposé lorsque nous apprenions le multi-threading. En fait, le verrou ici est le même que le verrouillage simultané dans le multi-threading. Ils s'attribuent tous deux violemment des ressources. . tous. Le but de l'utilisation des verrous ici est d'utiliser certains mécanismes pour garantir que certaines données ne seront pas modifiées par le monde extérieur lors d'une certaine opération, ici, 8. 🎜 >Mécanisme de verrouillage Hibernate, verrouillage pessimiste, verrouillage optimiste Introduction : Le verrouillage pessimiste fait référence à une attitude conservatrice à l'égard des données modifiées par le monde extérieur. Il est supposé que lorsque des données sont consultées à tout moment, un autre client peut également accéder aux mêmes données. Afin de maintenir la cohérence des opérations sur les données, les données sont verrouillées au niveau de la base de données et s'appuient sur le mécanisme de verrouillage fourni. par la base de données. Le verrouillage de base de données implémenté sur la base de jdbc est le suivant : sele 9 Exemples d'utilisation du verrouillage optimiste et du verrouillage pessimiste SQLSERVER 10 Verrouillage optimiste et pessimiste des transactions de base de données. lock 【Questions et réponses recommandées connexes] : Verrou optimiste MySQL, verrou pessimiste, verrou de ligne, verrou de table, comment sont-ils classés ? Par exemple, un verrou de table peut-il être un verrou optimiste ou un verrou pessimiste ? php - Quelles opérations de base de données doivent être écrites dans la couche application ? php - Comment assurer la sécurité des données lorsqu'une opération demande plusieurs services ? mysql - Quels sont les scénarios applicables pour le verrouillage optimiste et le verrouillage pessimiste ? java - Les concepts de verrouillage optimiste et de verrouillage pessimiste sont-ils limités aux bases de données relationnelles ?
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!