Heim  >  Artikel  >  Datenbank  >  Was sind die Einsatzszenarien von Redis?

Was sind die Einsatzszenarien von Redis?

WBOY
WBOYnach vorne
2023-05-26 12:52:381154Durchsuche

Zusammenfassung gängiger Redis-Befehle: einschließlich Zusammenfassung der Zeitkomplexität und Datenstrukturen, die intern von bestimmten Datentypen verwendet werden;

Erweiterte Funktionen von Redis: einschließlich Persistenz, Replikation, Sentinel und Cluster-Einführung; 🎜#

Redis verstehen: Dieser Teil ist sehr wichtig. Alles, was zuvor eingeführt wurde, kann Teil des Tao sein ist eine Zusammenfassung einiger praktischer Entwicklungspraktiken, einschließlich Cache-Design und häufiger Fallstricke.

Beginnen wir mit dem ersten Teil und werfen einen weiteren Blick auf Redis.

Der Inhalt dieser Serie basiert auf: redis-3.2.12

Redis ist kein Allheilmittel

Bei Vorstellungsgesprächen werde ich oft gefragt Um Redis und Memcache zu vergleichen, bin ich persönlich der Meinung, dass die beiden nicht zum Vergleich geeignet sind. Die eine ist eine nicht relationale Datenbank, die nicht nur zwischenspeichern, sondern auch andere Dinge tun kann. Redis wird oft als Cache verwendet, was der Hauptgrund ist, warum wir es oft mit anderen Technologien vergleichen. Was kann Redis also tun? Was kannst du nicht tun?

Redis kann alles

Caching, es besteht kein Zweifel, dass dies heute das bekannteste Verwendungsszenario von Redis ist. Es ist sehr effektiv bei der Verbesserung der Serverleistung.

Wenn Sie dazu eine herkömmliche relationale Datenbank verwenden, ist dies sehr mühsam, aber die Verwendung der SortSet-Datenstruktur von Redis kann sehr praktisch sein. #🎜 🎜#

Rechner/Geschwindigkeitsbegrenzer: Mithilfe der atomaren automatischen Inkrementierungsoperation in Redis können wir die Anzahl der Benutzer-Likes, Benutzerbesuche usw. zählen. Wenn MySQL für solche Vorgänge verwendet wird, ist häufiges Lesen und Schreiben erforderlich Ursache Es bringt erheblichen Druck mit sich; ein typisches Nutzungsszenario des Geschwindigkeitsbegrenzers besteht darin, die Häufigkeit des Zugriffs eines bestimmten Benutzers auf eine bestimmte API zu begrenzen. Er wird häufig verwendet, um unnötigen Druck durch verrücktes Klicken der Benutzer bei Eilverkäufen zu verhindern. #🎜🎜 #Freundschaftsbeziehung unter Verwendung einiger Sammlungsbefehle 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.: Ankunft Anforderungen an Waren wie Benachrichtigungen und E-Mail-Versand erfordern keine hohe Zuverlässigkeit, bringen jedoch viel DB-Druck mit sich. Die Liste kann zum Vervollständigen der asynchronen Entkopplung verwendet werden, am Beispiel von PHP. Standardmäßig wird die Sitzung in der Datei des Servers gespeichert. Wenn es sich um einen Clusterdienst handelt, landet derselbe Benutzer möglicherweise auf verschiedenen Computern, was dazu führt, dass sich Benutzer häufig anmelden, nachdem sie Redis zum Speichern der Sitzung verwendet haben Wenn der Benutzer darauf landet, kann er die entsprechenden Sitzungsinformationen abrufen.

Was kann Redis nicht? Bemühung. Bei Missbrauch kann es zu Systeminstabilität, erhöhten Kosten und anderen Problemen kommen.

Redis wird beispielsweise zum Speichern grundlegender Benutzerinformationen verwendet. Obwohl es die Persistenz unterstützen kann, kann seine Persistenzlösung nicht die absolute Landung von Daten garantieren und kann auch dazu führen, dass die Redis-Leistung abnimmt, da auch Persistenz vorhanden ist Häufig erhöht sich der Druck auf den Redis-Dienst.

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

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

Die oben genannten einige Verwendungsszenarien von Redis, dann gibt es sie Für diese Szenarien gibt es auch viele andere Optionen, z. B. Memcache für das Caching, MySql für die Sitzungsfreigabe und RabbitMQ für die Nachrichtenwarteschlange. Warum müssen wir 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-Threaded-Modell vermeidet unnötige Kontextwechsel und Race Conditions. Hinweis: Single-Threaded ist Genauso wie bei der Persistenz wird im Netzwerkanforderungsmodul ein Thread/Prozess zur Verarbeitung erneut geöffnet.

Rich-Datentypen, Redis verfügt natürlich über 8 Datentypen Die fünf am häufigsten verwendeten Typen sind String, Hash, List, Set 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). #

Was sind die Einsatzszenarien von Redis?Zusätzlich zu den bereitgestellten umfangreichen Datentypen bietet Redis auch langsame Abfrageanalysen, Leistungstests, Pipeline, Transaktionen, benutzerdefinierte Lua-Befehle, Bitmaps, HyperLogLog, Publish/Subscribe, Geo usw. Personalisierungsfunktionen .

Der Code von Redis ist sehr einfach und elegant und seine Kompilierung und Installation ist ebenfalls sehr einfach, es gibt keine Systemabhängigkeiten Sehr aktive Community. Auch die Sprachunterstützung für verschiedene Kunden ist sehr umfassend. Darüber hinaus verfügt es über Transaktionsunterstützung (noch nicht ausprobiert), Persistenz, Master-Slave-Replikation und andere Funktionen, wodurch die Machbarkeit einer hohen Verfügbarkeit und einer verteilten Verarbeitung erkannt wird.

Was sind die Einsatzszenarien von Redis?

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.

Das obige ist der detaillierte Inhalt vonWas sind die Einsatzszenarien von Redis?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen