So sperren Sie Redis
Dieser Artikel stellt hauptsächlich verschiedene Methoden zum Sperren von Redis vor und teilt sie als Referenz und zum Studium. Ich werde im Folgenden nicht viel sagen, werfen wir einen Blick auf die detaillierte Einführung.
Redis-Sperrklassifizierung
Die Sperrbefehlstabellen, die von Redis verwendet werden können, sind INCR, SETNX, SET
Der erste Sperrbefehl INCR
Die Idee dieser Art der Sperrung besteht darin, dass, wenn der Schlüssel nicht existiert, der Wert des Schlüssels initialisiert wird Zuerst 0 und dann ausgeführt. Die INCR-Operation fügt eins hinzu.
Wenn dann andere Benutzer die INCR-Operation zum Erhöhen um eins ausführen und die zurückgegebene Zahl größer als 1 ist, bedeutet dies, dass die Sperre verwendet wird.
1. Client A fordert den Server auf, den Schlüsselwert 1 zu erhalten, was anzeigt, dass die Sperre erhalten wurde
2. Client B fordert den Server außerdem auf, den Schlüsselwert 2 zu erhalten. zeigt an, dass die Sperrenerfassung fehlgeschlagen ist
3. Client A schließt die Codeausführung ab und löscht die Sperre
4 Client B wartet eine Zeit lang und erhält den Schlüsselwert 1, wenn er a Anfrage, die anzeigt, dass die Sperre erfolgreich war
5. Client B führt den Code aus und löscht die Sperre
$redis->incr($key); $redis->expire($key, $ttl); //设置生成时间为1秒
Die zweite Sperre SETNX
Die Die Idee hinter dieser Art der Sperrung besteht darin, dass, wenn der Schlüssel nicht vorhanden ist, der Schlüssel auf den Wert gesetzt wird.
Wenn der Schlüssel bereits vorhanden ist, ergreift SETNX keine Aktion
1. Client A fordert den Wenn die Einstellung erfolgreich ist, bedeutet dies, dass die Sperre erfolgreich ist.
2. Wenn die Rückgabe fehlschlägt, bedeutet dies, dass die Sperre erfolgreich ist fehlgeschlagen
3. Client A schließt die Codeausführung ab und löscht die Sperre
Nach einiger Zeit fordert Client B zum Festlegen des Schlüsselwerts an und die Einstellung ist erfolgreich
5. Client B schließt die Codeausführung ab und löscht die Sperre
Dritte Seed-Sperre SET
Die beiden oben genannten Methoden haben ein Problem stellen fest, dass sie den Schlüsselablauf festlegen müssen. Warum müssen wir also den Schlüsselablauf festlegen? Wenn die Anforderungsausführung aus irgendeinem Grund unerwartet beendet wird und die Sperre erstellt, aber nicht gelöscht wird, bleibt die Sperre immer bestehen, sodass der Cache in Zukunft nie mehr aktualisiert wird. Daher müssen wir der Sperre eine Ablaufzeit hinzufügen, um Unfälle zu verhindern. Aber das Festlegen mit Expire ist keine atomare Operation. Daher kann die Atomizität auch durch Transaktionen sichergestellt werden, es gibt jedoch immer noch einige Probleme, weshalb der Beamte ab Version 2.6.12 die Funktion zum Festlegen der Ablaufzeit in den SET-Befehl selbst einbezieht. 1. Client A fordert den Server auf, den Schlüsselwert festzulegen. Wenn die Einstellung erfolgreich ist, ist die Sperre erfolgreich. 2 die Rückgabe schlägt fehl, dann bedeutet dies, dass die Sperre fehlgeschlagen ist3. Client A schließt die Ausführung des Codes ab und löscht die Sperre4. Client B fordert das Festlegen des Schlüsselwerts an eine Zeitspanne, und die Einstellung ist erfolgreich5. Client B schließt die Codeausführung ab und löscht die Sperre$redis->setNX($key, $value); $redis->expire($key, $ttl);
Das obige ist der detaillierte Inhalt vonSo sperren Sie Redis. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



In dem Artikel wird die Implementierung der Authentifizierung und Autorisierung in Redis erläutert, wobei der Schwerpunkt auf der Aktivierung der Authentifizierung, der Verwendung von ACLs und den Best Practices zur Sicherung von Redis wird. Es deckt auch die Verwaltung von Benutzerberechtigungen und Tools ab, um die Redis -Sicherheit zu verbessern.

In dem Artikel wird die Auswahl von Shard -Schlüssel im Redis -Cluster erläutert und ihre Auswirkungen auf Leistung, Skalierbarkeit und Datenverteilung betont. Zu den wichtigsten Problemen gehört die Gewährleistung der sogar Datenverteilung, die Ausrichtung auf den Zugriffsmustern und die Vermeidung häufiger Fehler L.

In dem Artikel werden Strategien zur Implementierung und Verwaltung von Cache-Invalidierung in REDIS erörtert, einschließlich zeitbasierter Ablauf, ereignisgesteuerter Methoden und Versioning. Es deckt auch Best Practices für Cache -Ablauf und Tools zur Überwachung und Automatik ab

In dem Artikel wird die Verwendung von REDIS für Jobwarteschlangen und Hintergrundverarbeitung, Einzelheiten zur Einrichtung, Jobdefinition und Ausführung erläutert. Es deckt Best Practices wie Atomoperationen und Jobpriorisierung ab und erklärt, wie Redis die Verarbeitungseffizienz verbessert.

In dem Artikel wird erläutert, wie Redis für Pub/Sub -Messaging, Abdeckung von Setup, Best Practices, Sicherstellung der Nachrichtenzuverlässigkeit und Überwachungsleistung.

In Artikel werden die Leistung und Gesundheit von Redis-Cluster mithilfe von Tools wie Redis CLI, Redis Insight und Drittanbieterlösungen wie Datadog und Prometheus überwacht.

In dem Artikel wird die Verwendung von Redis für das Sitzungsmanagement in Webanwendungen, die Einrichtung, Vorteile wie Skalierbarkeit und Leistung sowie Sicherheitsmaßnahmen erläutert.

In Artikel wird die Sicherung von Redis gegen Schwachstellen erörtert, die sich auf starke Kennwörter, Netzwerkbindung, Befehlsbehinderung, Authentifizierung, Verschlüsselung, Aktualisierungen und Überwachung konzentrieren.
