Heim  >  Artikel  >  Datenbank  >  Warum Redis verwenden?

Warum Redis verwenden?

藏色散人
藏色散人Original
2019-06-26 11:34:275903Durchsuche

Warum Redis verwenden?

Redis kann alles

Caching Es besteht kein Zweifel, dass dies die bekannteste Verwendung von ist Redis-Szene. Es ist sehr effektiv bei der Verbesserung der Serverleistung. Wenn Sie hierfür eine herkömmliche relationale Datenbank verwenden, ist die Verwendung der SortSet-Datenstruktur sehr praktisch >

Rechner/Geschwindigkeitsbegrenzer: Mithilfe der atomaren automatischen Inkrementierungsoperation in Redis können wir die Anzahl der Benutzer-Likes, Benutzerbesuche usw. zählen. Wenn Sie MySQL für diese Art von Operation verwenden, bringt häufiges Lesen und Schreiben erhebliche Vorteile Unannehmlichkeiten. Ein typisches Nutzungsszenario eines Geschwindigkeitsbegrenzers besteht darin, die Häufigkeit des Zugriffs eines Benutzers auf eine bestimmte API zu begrenzen , Verwenden von Sammlungen Einige Befehle wie Schnittmenge, Vereinigung, Differenz usw. Es kann problemlos Funktionen wie gemeinsame Freunde und gemeinsame Hobbys verarbeiten.

Einfache Nachrichtenwarteschlange. Zusätzlich zum Redis-eigenen Veröffentlichungs- / Abonnementmodus können wir auch List verwenden, um einen Warteschlangenmechanismus zu implementieren, z. B.: Ankunftsbenachrichtigung, Anforderungen wie das Senden von E-Mails erfordern keine hohe Zuverlässigkeit, bringen jedoch viel DB-Druck mit sich. Die Sitzungsfreigabe kann am Beispiel von PHP durchgeführt werden Wenn es sich in der Serverdatei um einen Clusterdienst handelt, kann derselbe Benutzer auf verschiedenen Computern landen, was dazu führt, dass sich Benutzer häufig anmelden, nachdem sie Redis zum Speichern der Sitzung verwendet haben. Der Benutzer kann die entsprechenden Informationen erhalten, unabhängig davon, auf welchem ​​Computer er landet auf. Sitzungsinformationen.

Es gibt nichts, was Redis nicht kann

Redis hat das Gefühl, dass es viele Dinge kann, aber es ist kein Allheilmittel, um es an der richtigen Stelle einzusetzen Mit halbem Aufwand das doppelte Ergebnis erzielen. Bei Missbrauch kann es zu Systeminstabilität, erhöhten Kosten und anderen Problemen kommen.

Redis wird beispielsweise zum Speichern grundlegender Benutzerinformationen verwendet. Obwohl es Persistenz unterstützen kann, kann seine Persistenzlösung nicht die absolute Landung von Daten garantieren und kann aufgrund der Persistenz auch dazu führen, dass die Leistung von Redis abnimmt Erhöhen Sie den Druck auf den Redis-Dienst.

Eine einfache Zusammenfassung ist, dass Unternehmen mit zu großen Datenmengen und einer sehr geringen Datenzugriffsfrequenz nicht für die Verwendung von Redis geeignet sind. Zu große Datenmengen erhöhen die Kosten und die Zugriffsfrequenz ist zu niedrig ist eine Verschwendung von Ressourcen.

Sie müssen immer einen Grund für Ihre Wahl finden

Oben wurden einige Verwendungsszenarien von Redis erwähnt, und es gibt viele Zu den Lösungen für diese Szenarien gehören Memcache für das Caching, MySql für die Sitzungsfreigabe und RabbitMQ für Nachrichtenwarteschlangen. Warum Redis verwenden?

Schnell, vollständig speicherbasiert, in C-Sprache implementiert, die Netzwerkschicht verwendet Epoll, um Probleme mit hoher Parallelität zu lösen, das Single-Thread-Modell vermeidet unnötige Kontextwechsel und Race Conditions; > Hinweis:

Einzelner Thread bedeutet nur, dass ein Thread zur Verarbeitung von Client-Anfragen im Netzwerkanforderungsmodul verwendet wird. Aus Gründen der Persistenz wird ein Thread/Prozess zur Verarbeitung erneut geöffnet

Rich-Datentypen . Redis verfügt über 8 Datentypen: String, Hash, List und SortSet. Sie alle organisieren Daten basierend auf Schlüsselwerten. Jeder Datentyp bietet einen sehr umfangreichen Satz an Betriebsbefehlen, die die meisten Anforderungen erfüllen können. Wenn Sie spezielle Anforderungen haben, können Sie auch selbst neue Befehle über Lua-Skripte erstellen (mit Atomizität). >Zusätzlich zu den umfangreichen Datentypen bietet Redis auch personalisierte Funktionen wie langsame Abfrageanalyse, Leistungstests, Pipeline, Transaktionen, benutzerdefinierte Lua-Befehle, Bitmaps, HyperLogLog, Publish/Subscribe, Geo usw.

Der Code von Redis ist Open Source auf GitHub. Der Code ist sehr einfach und elegant, und seine Kompilierung und Installation ist ebenfalls sehr einfach aktive Community, vielfältig Auch die Sprachunterstützung des Kunden ist sehr umfassend. Darüber hinaus unterstützt es auch Transaktionen (nie verwendet), Persistenz und Master-Slave-Replikation und ermöglicht so eine hohe Verfügbarkeit und Verteilung.

Als Entwickler können wir die Dinge, die wir verwenden, nicht in eine Blackbox verwandeln. Wir sollten tiefer in sie eindringen und uns besser damit vertraut machen. Heute werde ich kurz über die Verwendungsszenarien von Redis sprechen und erklären, warum ich mich für Redis anstelle von anderen entschieden habe. Beim nächsten Mal werden wir die interne Datenstruktur von Redis und die zeitliche Komplexität häufig verwendeter Befehle zusammenfassen.

Weitere Informationen zu Redis finden Sie in der Spalte

Tutorial zur Redis-Nutzung

!

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