Heim  >  Artikel  >  Datenbank  >  Warum ist Redis schnell?

Warum ist Redis schnell?

(*-*)浩
(*-*)浩Original
2019-11-21 13:32:167351Durchsuche

Warum ist Redis schnell?

1. Die meisten Anfragen basieren vollständig auf dem Speicher und sind reine Speicheroperationen, die sehr schnell sind. Die Daten werden im Speicher gespeichert, ähnlich wie bei HashMap. Der Vorteil von HashMap besteht darin, dass die Zeitkomplexität von Suche und Betrieb O(1) ist ist auch einfach. In Redis ist die Datenstruktur speziell entworfen.

3,

verwendet einen einzelnen Thread, um unnötige Kontextwechsel und Race-Bedingungen zu vermeiden, und es gibt keinen Wechsel, der durch mehrere Prozesse oder Threads verursacht wird die CPU. Es besteht keine Notwendigkeit, verschiedene Sperrprobleme zu berücksichtigen, es gibt keine Sperr- und Freigabevorgänge und es gibt keinen Leistungsverbrauch durch mögliche Deadlocks

4 E/A-Komplexe verwenden Modelle, nicht blockierende E/A5,

verwenden unterschiedliche zugrunde liegende Modelle, die zugrunde liegenden Implementierungsmethoden und die Anwendungsprotokolle für die Kommunikation mit dem Client sind unterschiedlich Da es sich um einen VM-Mechanismus handelt, verschwendet das Verschieben und Anfordern eine gewisse Zeit. Die oben genannten Punkte sind relativ einfach zu verstehen zu Mehrkanal-I/O Eine kurze Diskussion des Wiederverwendungsmodells:

(1) Mehrkanal-I/O-Wiederverwendungsmodell

Das Mehrkanal-I/O-Wiederverwendungsmodell Kann Select, Poll und Epoll verwenden. Durch die Möglichkeit, E/A-Ereignisse mehrerer Streams gleichzeitig zu überwachen, wird der aktuelle Thread blockiert, wenn er inaktiv ist Der blockierte Zustand, sodass das Programm alle Streams abfragt (epoll fragt nur die Streams ab, die tatsächlich Ereignisse ausgeben) und nur bereite Streams der Reihe nach verarbeitet. Dieser Ansatz vermeidet viele nutzlose Vorgänge. Hier bezieht sich „Mehrkanal“ auf mehrere Netzwerkverbindungen und „Wiederverwendung“ auf die Wiederverwendung desselben Threads. Durch die Verwendung der Mehrkanal-E/A-Multiplexing-Technologie kann ein einzelner Thread mehrere Verbindungsanforderungen effizient verarbeiten (wodurch der Zeitverbrauch von Netzwerk-E/A minimiert wird), und Redis verarbeitet Daten im Speicher sehr schnell, was bedeutet, dass Vorgänge im Speicher nicht ausgeführt werden wird zu einem Engpass, der die Leistung von Redis beeinträchtigt. Die oben genannten Punkte tragen hauptsächlich zum hohen Durchsatz von Redis bei.

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