Was sind die Einsatzszenarien von Redis?
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.12Redis ist kein AllheilmittelBei 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 allesCaching, 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 findenDie 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). #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.
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!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



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

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

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.

Um eine Warteschlange aus Redis zu lesen, müssen Sie den Warteschlangenname erhalten, die Elemente mit dem Befehl LPOP lesen und die leere Warteschlange verarbeiten. Die spezifischen Schritte sind wie folgt: Holen Sie sich den Warteschlangenname: Nennen Sie ihn mit dem Präfix von "Warteschlange:" wie "Warteschlangen: My-Queue". Verwenden Sie den Befehl LPOP: Wischen Sie das Element aus dem Kopf der Warteschlange aus und geben Sie seinen Wert zurück, z. B. die LPOP-Warteschlange: my-queue. Verarbeitung leerer Warteschlangen: Wenn die Warteschlange leer ist, gibt LPOP NIL zurück, und Sie können überprüfen, ob die Warteschlange existiert, bevor Sie das Element lesen.

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.

Der beste Weg, um Redis -Quellcode zu verstehen, besteht darin, Schritt für Schritt zu gehen: Machen Sie sich mit den Grundlagen von Redis vertraut. Wählen Sie ein bestimmtes Modul oder eine bestimmte Funktion als Ausgangspunkt. Beginnen Sie mit dem Einstiegspunkt des Moduls oder der Funktion und sehen Sie sich die Codezeile nach Zeile an. Zeigen Sie den Code über die Funktionsaufrufkette an. Kennen Sie die von Redis verwendeten Datenstrukturen. Identifizieren Sie den von Redis verwendeten Algorithmus.

Redis unterstützt als Messing Middleware Modelle für Produktionsverbrauch, kann Nachrichten bestehen und eine zuverlässige Lieferung sicherstellen. Die Verwendung von Redis als Message Middleware ermöglicht eine geringe Latenz, zuverlässige und skalierbare Nachrichten.
