Heim >Datenbank >Redis >Warum Redis Single-Threaded ist

Warum Redis Single-Threaded ist

(*-*)浩
(*-*)浩Original
2019-06-17 13:36:185404Durchsuche

Warum ist Redis also Single-Threaded?

Warum Redis Single-Threaded ist 
Wir müssen zuerst verstehen, dass Redis schnell ist! In den offiziellen FAQ heißt es, dass die CPU nicht der Engpass von Redis ist, da es sich um einen speicherbasierten Vorgang handelt. Der Engpass von Redis liegt höchstwahrscheinlich in der Größe des Maschinenspeichers oder der Netzwerkbandbreite. Da Single-Threading einfach zu implementieren ist und die CPU nicht zum Engpass wird, ist es logisch, eine Single-Threaded-Lösung zu übernehmen (schließlich wird die Verwendung von Multi-Threading viel Ärger verursachen!) . (Empfohlenes Lernen: Redis-Video-Tutorial) Sie werden vielleicht weinen, wenn Sie das sehen! Ich dachte, es gäbe einige wichtige technische Punkte, die Redis mit einem einzigen Thread so schnell machen würden, aber ich hatte keine offizielle Antwort erwartet, die uns zu täuschen schien! Wir können jedoch bereits jetzt klar erklären, warum Redis so schnell ist, und gerade weil es im Single-Thread-Modus bereits schnell ist, ist es nicht erforderlich, Multi-Threading zu verwenden!

Unser Single-Threaded-Ansatz kann jedoch nicht die Multi-Core-CPU-Leistung nutzen, wir können sie jedoch verbessern, indem wir mehrere Redis-Instanzen auf einer einzigen Maschine öffnen!

Warnung 1:

Der einzelne Thread, den wir hier hervorgehoben haben, verfügt nur über einen Thread zum Verarbeiten unserer Netzwerkanforderungen. Wenn ein formeller Redis-Server ausgeführt wird, muss es mehr als einen Thread geben Ein Thread, hier muss jeder klar aufpassen! Wenn Redis beispielsweise beibehalten wird, wird es als Unterprozess oder Unterthread ausgeführt (der spezifische Unterthread oder Unterprozess muss vom Leser eingehend untersucht werden); Der Parameter „-T“ des ps-Befehls gibt den Anzeigethread an (Threads anzeigen, möglicherweise mit SPID-Spalte). Die Spalte „SID“ gibt die Thread-ID an und die Spalte „CMD“ zeigt den Threadnamen an.
Warnung 2:
Im letzten Absatz der offiziellen FAQ heißt es, dass Multithreading ab Version 4.0 von Redis unterstützt wird. Multithreading-Vorgänge werden jedoch nur bei bestimmten Vorgängen durchgeführt! Ob dieser Artikel in zukünftigen Versionen weiterhin Single-Threaded sein wird, muss daher von den Lesern überprüft werden!

Weitere technische Artikel zum Thema Redis finden Sie in der Spalte Einführung in das Redis-Datenbanknutzungs-Tutorial, um mehr zu erfahren!

Das obige ist der detaillierte Inhalt vonWarum Redis Single-Threaded ist. 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