So verstehen Sie den einzelnen Redis-Thread
Redis kommuniziert über Sockets. Mit anderen Worten: Der Redis-Dienst ist mit mehreren Redis-Client-Verbindungen gleichzeitig konfrontiert .-Anfrage, und der Redis-Dienst selbst wird in einem einzelnen Thread ausgeführt. (Empfohlenes Lernen: Redis-Video-Tutorial )
Angenommen, es gibt jetzt fünf Clients von A, B, C, D, E. Der erste kommt, dann B, C, D und E kommen nacheinander an. Zu diesem Zeitpunkt beginnt der Redis-Server mit der Verarbeitung der A-Anfrage. Es dauert 30 Sekunden, um die Verbindung herzustellen, 10 Sekunden, um die Anforderungsdaten abzurufen, und dann 0,1 Sekunden, um die Daten zu verarbeiten und zu senden zurück zu Es dauert auf der Clientseite 5 Sekunden und insgesamt etwa 45 Sekunden. Mit anderen Worten, die nächste B-Anfrage muss 45 Sekunden warten. Beachten Sie, dass diese fünf Anfragen fast gleichzeitig erfolgen können, da der Socket mehrere Anfragen gleichzeitig verarbeiten kann Phase ist vernachlässigbar, aber in der zweiten Phase muss der Server nichts tun und 10 Sekunden warten, was für die CPU und den Client unerträglich ist. Die Single-Thread-Effizienz ist also sehr, sehr gering, aber gerade wegen dieser ähnlichen Probleme läuft Redis Single-Thread in der Natur nicht so. Als nächstes werden wir den echten Single-Thread-Betriebsmodus von Redis diskutieren.Die Verbindung zwischen dem Client und dem Server wird über den Socket hergestellt. Es können mehrere Verbindungen gleichzeitig hergestellt werden (dies sollte Multi-Thread/Multi-Prozess sein). , Die von redis hergestellte Verbindung Sie wissen (Warum Sie wissen, gehen Sie zur Socket-Programmierung und betonen Sie erneut, dass die Grundlagen sehr wichtig sind), Dann erkennt Redis anhand der Daten, welche Verbindung die Anforderung des Clients empfangen hat auf diesen etablierten Verbindungen.
Hinweis: Es geht nicht darum, zu erkennen, welche Verbindung hergestellt wurde, sondern darum, welche Verbindung die Anforderungsdaten empfangen hat. Die Erkennungsaktion hier ist der Start eines einzelnen Threads Erkennt, basiert es auf den empfangenen Daten, startet die Datenverarbeitungsphase, gibt dann die Daten zurück und erkennt dann weiterhin die nächste Netzwerkverbindung, die die angeforderten Daten empfangen hat.
Beachten Sie, dass der gesamte Prozess von der Erkennung über die Datenverarbeitung bis zur Datenrückgabe Single-Threaded ist.
Dies sollte der sogenannte Redis-Single-Thread sein. Was die innere Komplexität angeht, müssen wir uns nicht darum kümmern, den Prozess zu verstehen und die Prinzipien strikt einzuhalten, aber wir können nicht alle inneren Organe ausgraben.
Redis Getting Started Tutorial.
Das obige ist der detaillierte Inhalt vonSo verstehen Sie den einzelnen Redis-Thread. 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



Der Redis -Cluster -Modus bietet Redis -Instanzen durch Sharding, die Skalierbarkeit und Verfügbarkeit verbessert. Die Bauschritte sind wie folgt: Erstellen Sie ungerade Redis -Instanzen mit verschiedenen Ports; Erstellen Sie 3 Sentinel -Instanzen, Monitor -Redis -Instanzen und Failover; Konfigurieren von Sentinel -Konfigurationsdateien, Informationen zur Überwachung von Redis -Instanzinformationen und Failover -Einstellungen hinzufügen. Konfigurieren von Redis -Instanzkonfigurationsdateien, aktivieren Sie den Cluster -Modus und geben Sie den Cluster -Informationsdateipfad an. Erstellen Sie die Datei nodes.conf, die Informationen zu jeder Redis -Instanz enthält. Starten Sie den Cluster, führen Sie den Befehl erstellen aus, um einen Cluster zu erstellen und die Anzahl der Replikate anzugeben. Melden Sie sich im Cluster an, um den Befehl cluster info auszuführen, um den Clusterstatus zu überprüfen. machen

Die Verwendung der REDIS -Anweisung erfordert die folgenden Schritte: Öffnen Sie den Redis -Client. Geben Sie den Befehl ein (Verbschlüsselwert). Bietet die erforderlichen Parameter (variiert von der Anweisung bis zur Anweisung). Drücken Sie die Eingabetaste, um den Befehl auszuführen. Redis gibt eine Antwort zurück, die das Ergebnis der Operation anzeigt (normalerweise in Ordnung oder -err).

Um alle Schlüssel in Redis anzuzeigen, gibt es drei Möglichkeiten: Verwenden Sie den Befehl keys, um alle Schlüssel zurückzugeben, die dem angegebenen Muster übereinstimmen. Verwenden Sie den Befehl scan, um über die Schlüssel zu iterieren und eine Reihe von Schlüssel zurückzugeben. Verwenden Sie den Befehl Info, um die Gesamtzahl der Schlüssel zu erhalten.

Redis verwendet eine einzelne Gewindearchitektur, um hohe Leistung, Einfachheit und Konsistenz zu bieten. Es wird E/A-Multiplexing, Ereignisschleifen, nicht blockierende E/A und gemeinsame Speicher verwendet, um die Parallelität zu verbessern, jedoch mit Einschränkungen von Gleichzeitbeschränkungen, einem einzelnen Ausfallpunkt und ungeeigneter Schreib-intensiver Workloads.

Zu den Schritten zum Starten eines Redis -Servers gehören: Installieren von Redis gemäß dem Betriebssystem. Starten Sie den Redis-Dienst über Redis-Server (Linux/macOS) oder redis-server.exe (Windows). Verwenden Sie den Befehl redis-cli ping (linux/macOS) oder redis-cli.exe ping (Windows), um den Dienststatus zu überprüfen. Verwenden Sie einen Redis-Client wie Redis-Cli, Python oder Node.js, um auf den Server zuzugreifen.

Um die Operationen zu sperren, muss die Sperre durch den Befehl setNX erfasst werden und dann den Befehl Ablauf verwenden, um die Ablaufzeit festzulegen. Die spezifischen Schritte sind: (1) Verwenden Sie den Befehl setNX, um zu versuchen, ein Schlüsselwertpaar festzulegen; (2) Verwenden Sie den Befehl Ablauf, um die Ablaufzeit für die Sperre festzulegen. (3) Verwenden Sie den Befehl Del, um die Sperre zu löschen, wenn die Sperre nicht mehr benötigt wird.

So löschen Sie Redis -Daten: Verwenden Sie den Befehl Flushall, um alle Schlüsselwerte zu löschen. Verwenden Sie den Befehl flushdb, um den Schlüsselwert der aktuell ausgewählten Datenbank zu löschen. Verwenden Sie SELECT, um Datenbanken zu wechseln, und löschen Sie dann FlushDB, um mehrere Datenbanken zu löschen. Verwenden Sie den Befehl del, um einen bestimmten Schlüssel zu löschen. Verwenden Sie das Redis-Cli-Tool, um die Daten zu löschen.

Redis verwendet Hash -Tabellen, um Daten zu speichern und unterstützt Datenstrukturen wie Zeichenfolgen, Listen, Hash -Tabellen, Sammlungen und geordnete Sammlungen. Ernähren sich weiterhin über Daten über Snapshots (RDB) und appendiert Mechanismen nur Schreibmechanismen. Redis verwendet die Master-Slave-Replikation, um die Datenverfügbarkeit zu verbessern. Redis verwendet eine Ereignisschleife mit einer Thread, um Verbindungen und Befehle zu verarbeiten, um die Datenatomizität und Konsistenz zu gewährleisten. Redis legt die Ablaufzeit für den Schlüssel fest und verwendet den faulen Löschmechanismus, um den Ablaufschlüssel zu löschen.
