Heim  >  Artikel  >  Datenbank  >  Detaillierte Einführung in das pessimistische Sperren

Detaillierte Einführung in das pessimistische Sperren

零下一度
零下一度Original
2017-06-13 11:54:432347Durchsuche

PHP-MALL1. Kaufrausch im Einkaufszentrum, überverkaufter Flash-Sale-Bestand bereitet Kopfzerbrechen. Die folgenden drei Methoden werden verwendet, um einen Überverkauf zu verhindern Druck auf die Datenbank: Wenn ein Deadlock auftritt, sind Aktualisierungen nie möglich, es sei denn, der Prozess wird abgebrochen. 2.MySQL Optimistic Locking Diese Lösung kann ohne die Verwendung eines Drittanbieters verwendet werden 3. Redis Incrby Decrby Atombetrieb, um Überverkauf zu verhindern 4. Um die Erweiterung zu erleichtern, wird die Inventarklasse von der Schnittstelle abstrahiert, um zukünftige Erweiterungen zu erleichtern. Sie können auch andere Methoden verwenden, um den MySQL-Sperrmechanismus, die pessimistische Sperre, das InnoDB-Sperrschema auf Zeilenebene und die Abfrageanforderungen zu implementieren Index 1. Die Transaktionsebene muss die Ebene SERIALIZABLE sein 2. Fragen Sie Bedingungen ab, um zu überprüfen, ob der Lagerbestand für diesen Kauf ausreicht, zum Beispiel: id = 1 UND Lagerbestand >=1 3. Nachdem das PDO-Update aktualisiert wurde, müssen Sie nicht nur

1 überprüfen

Einführung: PHPMALL 1. Überverkaufter Bestand im Einkaufszentrum bereitet Kopfschmerzen. Hier sind drei Methoden, um einen Überverkauf zu verhindern. 1.1. MySQL-Sperrmechanismus, pessimistische Sperre, InnoDB-Reihe Level-Sperrlösung, Abfrage muss Index 1.2 verwenden 🎜>2 . Mysql-detaillierte Erklärung verschiedener Sperrunterschiede und MVCCDetaillierte Einführung in das pessimistische Sperren

Einführung: MySQL Sperren sehen aus wie Es gibt viele, und ich habe die meisten Informationen überprüft, einschließlich Tabellensperren, Zeilensperren, Seitensperren, gemeinsam genutzte Sperren, exklusive Sperren, Absichtssperren, Lesesperren, Schreibsperren, pessimistische Sperren und optimistische Sperren. . Ich möchte wirklich fragen: Gibt es goldene Locken? Ich habe immer noch Fan Bingbing. . . Ups, warum fühlt es sich so chaotisch an? Also lasst es uns klären und zusammenfassen. Später gibt es ein Verständnis und Beispiele für MVCC unter Innodb, die einfach und leicht zu verstehen sind. Tabellen-/Zeilen-/Seitensperre: Sperren auf Tabellenebene: M

3. MySQL-Datenbankoptimierung (3) – MySQL-pessimistische Sperre und optimistische Sperre (Parallelitätskontrolle) Detaillierte Einführung in das pessimistische Sperren

Einführung: In diesem Artikel wird die Interpretation von Sperren (gemeinsame Sperren) und Schreibsperren (exklusive Sperren) erläutert.) 2. Sperren Granularität: Tabellensperre (Tabellensperre), Sperre auf Zeilenebene (Zeilensperre) 3. Optimistische Sperre und pessimistische Sperre, pessimistische Sperre Exklusive Sperre: Wenn eine Transaktion Daten bearbeitet, wird dieser Teil der Daten gesperrt, bis der Vorgang abgeschlossen ist Nach dem Entsperren Dadurch können andere Transaktionsoperationen diesen Teil der Daten bearbeiten. Dadurch wird verhindert, dass andere Prozesse die Daten in der Tabelle lesen oder ändern. Implementierung: Verwenden Sie im Allgemeinen „select ...“ für die Aktualisierung, um die ausgewählten Daten zu sperren, z. Kann es mehrere her-update-Anweisungen geben?

Einführung: Noch zum Thema pessimistisches Sperren: Kann es zwischen begin und commit mehrere her-update-Anweisungen geben? Detaillierte Einführung in das pessimistische Sperren

5.

Eine kurze Analyse der pessimistischen Sperren und optimistischen Sperren

Einführung: Die pessimistische Sperre in Oracle ist Um Oracle Connection zu verwenden, werden die Daten gesperrt. In Oracle ist der Leistungsverlust durch die Verwendung dieser Sperre auf Zeilenebene sehr gering. Achten Sie einfach auf das Programm

6 🎜>

Einleitung: Xiaojing hat kürzlich eine PR bei Skynet eingereicht. Wir haben es lange besprochen, bevor wir es erwähnt haben. Es wird gesagt, dass es daran lag, dass wir bei der Überprüfung eines anderen Problems den Nachrichtenplanungsteil von Skynet neu geschrieben und festgestellt haben, dass in einigen Fällen die CPU-Auslastung verbessert werden kann. Zuvor verwendete die Nachrichtenplanung von Skynet eine sperrenfreie Struktur basierend auf CAS. Aber im Wesentlichen ist die Datenstruktur der gleichzeitigen Warteschlange, ob es sich um

7 handelt

Einführung: Das Konzept des Sperrens wurde uns vorgestellt, als wir Multithreading lernten. Tatsächlich ist die Sperre hier dieselbe wie die gleichzeitige Sperre beim Multithreading. Beide weisen sich gewaltsam Ressourcen zu . alle. Der Zweck der Verwendung von Sperren besteht darin, einige Mechanismen zu verwenden, um sicherzustellen, dass einige Daten während eines bestimmten Vorgangs nicht von der Außenwelt geändert werden. Ein solcher Mechanismus ist hier

8 🎜 >Hibernate-Sperrmechanismus, pessimistische Sperre, optimistische Sperre

Einführung: Pessimistische Sperre bezieht sich auf eine konservative Einstellung gegenüber Daten, die von der Außenwelt geändert werden. Es wird davon ausgegangen, dass zu jedem Zeitpunkt ein anderer Kunde auf dieselben Daten zugreift. Um die Konsistenz der Datenvorgänge aufrechtzuerhalten, werden die Daten auf Datenbankebene gesperrt und auf den bereitgestellten Sperrmechanismus angewiesen durch die Datenbank. Die auf JDBC basierende Datenbanksperre lautet wie folgt: sele

9 SQLSERVER-Verwendungsbeispiele für optimistische Sperren und pessimistische Sperren

Einführung: In einer tatsächlichen Produktionsumgebung mit gleichzeitigem Zugriff durch mehrere Benutzer müssen wir häufig die Datenkonsistenz so weit wie möglich aufrechterhalten. Das typischste Beispiel ist, dass wir Daten aus der Tabelle lesen, die Daten nach Überprüfung und Verifizierung ändern und sie dann zurück in die Datenbank schreiben. Wenn während des Lese- und Schreibvorgangs in einer Umgebung mit mehreren Benutzern gleichzeitig die Daten geändert wurden, die Sie ändern möchten

10 Optimistische und pessimistische Sperre für Datenbanktransaktionen Sperre

Einführung: Optimistische Sperre und pessimistische Sperre von Datenbankdingen sind eine Reihe von Vorgängen, die von einer einzelnen logischen Einheit von Datenbankdingen ausgeführt werden, bei denen es sich um einige oder mehrere SQL-Anweisungen handelt. 1 Der Update-Vorgang ist eine Sache. Dinge haben vier Eigenschaften: 1. Atomare Dinge müssen atomare Arbeitseinheiten sein, entweder alle erfolgreich ausgeführt (d. h. alle SQL-Anweisungen werden erfolgreich ausgeführt) oder keine

【Verwandte empfohlene Fragen und Antworten] :

Mysql optimistische Sperre, pessimistische Sperre, Zeilensperre, Tabellensperre, wie werden sie klassifiziert? Kann eine Tabellensperre beispielsweise eine optimistische oder eine pessimistische Sperre sein?

php - Welche Datenbankoperationen müssen in der Anwendungsschicht geschrieben werden?

php – Wie kann die Datensicherheit gewährleistet werden, wenn ein Vorgang mehrere Dienste anfordert?

mysql – Was sind die anwendbaren Szenarien für optimistisches Sperren und pessimistisches Sperren?

Java – Sind die Konzepte des optimistischen und pessimistischen Sperrens auf relationale Datenbanken beschränkt?

Das obige ist der detaillierte Inhalt vonDetaillierte Einführung in das pessimistische Sperren. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn