Heim Datenbank Redis So verstehen Sie den einzelnen Redis-Thread

So verstehen Sie den einzelnen Redis-Thread

Nov 28, 2019 am 09:13 AM
redis

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.

Von der Erkennung der Netzwerkverbindung, die die Anforderungsdaten akzeptiert, bis zur endgültigen Datenrückgabe benötigt der Server nur 5,1 Sekunden, nachdem ich die Daten N-mal vergrößert habe viel kürzer als das, vielleicht ist es ein Zehntausendstel der N-Zeit von 5,1.

Warum sagen Sie das? Da die Daten im lokalen Speicher verarbeitet werden, können Sie sich vorstellen, wie schnell sie sind. Obwohl die endgültigen zurückgegebenen Daten das Netzwerk betreffen, wurde die Netzwerkverbindung hergestellt, und die Geschwindigkeit ist es auch sehr, sehr schnell, nur etwas langsamer als die Datenverarbeitungsphase. Daher besteht eigentlich kein Grund zur Sorge um die Effizienz der Single-Threaded-Methode.

Weitere technische Artikel zum Thema Redis finden Sie in der Spalte

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!

Erklärung dieser Website
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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

So erstellen Sie den Redis -Clustermodus So erstellen Sie den Redis -Clustermodus Apr 10, 2025 pm 10:15 PM

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

So verwenden Sie den Befehl Redis So verwenden Sie den Befehl Redis Apr 10, 2025 pm 08:45 PM

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).

So sehen Sie alle Schlüssel in Redis So sehen Sie alle Schlüssel in Redis Apr 10, 2025 pm 07:15 PM

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.

So verwenden Sie ein einzelnes Gewinde -Redis So verwenden Sie ein einzelnes Gewinde -Redis Apr 10, 2025 pm 07:12 PM

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.

So starten Sie den Server mit Redis So starten Sie den Server mit Redis Apr 10, 2025 pm 08:12 PM

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.

So verwenden Sie Redis Lock So verwenden Sie Redis Lock Apr 10, 2025 pm 08:39 PM

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 So löschen Sie Redis -Daten Apr 10, 2025 pm 10:06 PM

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.

So implementieren Sie die zugrunde liegenden Redis So implementieren Sie die zugrunde liegenden Redis Apr 10, 2025 pm 07:21 PM

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.

See all articles