Wo wird Redis im Allgemeinen verwendet?
Zusammenfassung der Redis-Anwendungsszenarien. Wir verwenden Redis normalerweise an vielen Stellen. Hier ist eine Zusammenfassung der Anwendungsszenarien, die wir verstehen:
. Cache von Hotspot-Daten
Aufgrund der hohen Zugriffsgeschwindigkeit und der von Redis unterstützten umfangreichen Datentypen eignet sich Redis sehr gut zum Speichern von Hotspot-Daten. Darüber hinaus können wir in Kombination mit Expire die Ablaufzeit festlegen und fahren Sie dann mit dem Cache-Aktualisierungsvorgang fort. Diese Funktion ist die gebräuchlichste und wird in fast allen unseren Projekten verwendet.
2. Anwendung des zeitlich begrenzten Geschäfts (Empfohlenes Lernen: Redis-Video-Tutorial)
Sie können den Ablaufbefehl verwenden, um das Überleben festzulegen Zeit eines Schlüssels in Redis, Redis löscht ihn, nachdem die Zeit abgelaufen ist. Diese Funktion kann in Geschäftsszenarien wie zeitlich begrenzten Werbeinformationen und Mobiltelefon-Verifizierungscodes verwendet werden.
3. Probleme im Zusammenhang mit Zählern
Redis kann für Flash-Sale-Aktivitäten mit hoher Parallelität und die Generierung verteilter Sequenznummern verwendet werden, da der Befehl incrby eine atomare Erhöhung erreichen kann. Spezifische Dienste spiegeln sich beispielsweise auch in der Begrenzung der Anzahl der von einer Mobiltelefonnummer versendeten SMS, der Begrenzung der Anzahl der Anfragen pro Minute für eine Schnittstelle, der Begrenzung der Anzahl der Anrufe pro Tag für eine Schnittstelle usw. wider.
4. Probleme im Zusammenhang mit Rankings
Relationale Datenbanken sind bei der Abfrage von Rankings im Allgemeinen langsam, daher können Sie SortedSet von redis verwenden, um heiße Daten zu sortieren.
Im Milchtee-Event müssen wir die Like-Rangliste jeder Abteilung anzeigen, also habe ich für jede Abteilung ein SortedSet erstellt und dann die OpenID des Benutzers als Benutzernamen oben und die Anzahl der Likes des Benutzers verwendet Wie für die obige Bewertung wird für jeden Benutzer ein Hash erstellt, der anhand der Anzahl der Likes ermittelt werden kann, und anschließend werden die Hash-Informationen des Benutzers anhand des Benutzernamens ermittelt war damals ganz gut.
5. Verteilte Sperre
Hierbei wird hauptsächlich der setnx-Befehl von setnx verwendet: „Setzen, wenn nicht vorhanden“ bedeutet, dass der Cache vorhanden ist erfolgreich festgelegt und 1 zurückgegeben, andernfalls wird 0 zurückgegeben. Diese Funktion wird im Hintergrund von Yu You Ben Yuanfang verwendet. Da unser Server geclustert ist, kann die geplante Aufgabe auf beiden Computern ausgeführt werden. Legen Sie daher in der geplanten Aufgabe zunächst eine Sperre fest über setnx. Wenn die Einstellung erfolgreich ist, wird sie ausgeführt. Wenn sie nicht erfolgreich ist, bedeutet dies, dass die geplante Aufgabe ausgeführt wurde. Abhängig vom jeweiligen Unternehmen können wir dieser Sperre natürlich eine Ablaufzeit hinzufügen. Wenn beispielsweise eine geplante Aufgabe alle 30 Minuten ausgeführt wird, kann die Ablaufzeit auf eine Zeit von weniger als 30 Minuten festgelegt werden auf den Zeitraum der geplanten Aufgabe und die Ausführung der geplanten Aufgabe bezogen.
Natürlich können wir diese Funktion auf andere Szenarien anwenden, die verteilte Sperren erfordern. In Kombination mit der Ablaufzeit dient sie hauptsächlich der Verhinderung von Deadlocks.
6. Verzögerungsbetrieb
Ich habe relevante Tests dazu durchgeführt, aber es wurde nicht auf unsere tatsächlichen Projekte angewendet. Nachfolgend werde ich eine Anwendung dieser Funktion geben . Szene. Nachdem die Bestellung beispielsweise erstellt wurde, belegen wir den Bestand. Nach 10 Minuten prüfen wir, ob der Benutzer ihn tatsächlich gekauft hat. Wenn kein Kauf erfolgt, wird das Dokument ungültig und der Bestand wird gleichzeitig wiederhergestellt . Da Redis seit Version 2.8.0 die Keyspace Notifications-Funktion bereitstellt, ist es Kunden gestattet, Pub/Sub-Kanäle zu abonnieren, um Ereignisse zu erhalten, die sich in irgendeiner Weise auf den Redis-Datensatz auswirken. Daher können wir die folgende Lösung für die oben genannten Anforderungen verwenden. Wenn wir die Produktion anordnen, legen wir fest, dass er nach 10 Minuten abläuft. Wir implementieren einen Listener im Hintergrund, um die Wirksamkeit des Schlüssels zu überwachen. Wir werden dem nachgehen. Logik hinzugefügt. Natürlich können wir auch den Verzögerungswarteschlangendienst von Nachrichten-Middleware wie RabbitMQ und ActiveMQ verwenden, um diese Anforderung zu erfüllen.
7. Paging, Fuzzy-Suche
Die Set-Sammlung von Redis bietet eine Zrangebylex-Methode. Die Syntax lautet wie folgt:
ZRANGEBYLEX-Schlüssel min. max [LIMIT offset count]
Seitendatenabfragen können über ZRANGEBYLEX zset - + LIMIT 0 10 durchgeführt werden, wobei - + bedeutet, alle Daten abzurufen
zrangebylex key min max Dies kann die Daten in zurückgeben Das Wörterbuchintervall kann mit dieser Funktion eine Fuzzy-Abfragefunktion ausführen. Dies ist auch die einzige Funktion, die ich in Redis gefunden habe, die Fuzzy-Abfragen für gespeicherte Inhalte unterstützt.
Vor ein paar Tagen habe ich diese Funktion verwendet, um einen Simulationstest für Schuldaten durchzuführen. Die Schuldaten belaufen sich auf etwa 600.000 und die Antwortzeit beträgt etwa 700 ms, was etwas schneller ist als bei der MySQL-ähnlichen Abfrage, aber weil Es kann eine große Anzahl von Datenbank-E/A-Vorgängen vermeiden und ist daher insgesamt besser für die Gewährleistung der Systemleistung geeignet als eine direkte MySQL-Abfrage.
8. Speicherung gegenseitiger Beziehungen wie Likes und Freunde
Die von Redis bereitgestellten externen Funktionen ähneln den Funktionen von list. Das Besondere ist, dass set Duplikate automatisch entfernen kann. Wenn Sie eine Liste von Daten speichern müssen und nicht möchten, dass doppelte Daten angezeigt werden, ist set ein Sehr nützliches Tool. Set bietet eine wichtige Schnittstelle zur Bestimmung, ob sich ein Mitglied in einer Set-Sammlung befindet, die die Liste nicht bereitstellen kann. Oder in der Weibo-Anwendung sind die Personen, denen jeder Benutzer folgt, in einer Sammlung vorhanden, sodass die Funktion zum Finden gemeinsamer Freunde zweier Personen einfach implementiert werden kann.
Dies wird in der Milchtee-Aktivität verwendet, bei der die Like-Beziehung zwischen Benutzern gespeichert wird. Darüber hinaus wird die Sismember-Methode verwendet, um zu bestimmen, ob zu diesem Zeitpunkt ein Like erstellt wurde Die Reaktionszeit dieser Schnittstelle wurde innerhalb von 10 Millisekunden gesteuert, was sehr effizient ist.
9. Warteschlange
Da Redis über Befehle wie List Push und List Pop verfügt, kann es problemlos Warteschlangenvorgänge ausführen.
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 vonWo wird Redis im Allgemeinen verwendet?. 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

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

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.

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.

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.

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

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.

Auf CentOS -Systemen können Sie die Ausführungszeit von LuA -Skripten einschränken, indem Sie Redis -Konfigurationsdateien ändern oder Befehle mit Redis verwenden, um zu verhindern, dass bösartige Skripte zu viele Ressourcen konsumieren. Methode 1: Ändern Sie die Redis -Konfigurationsdatei und suchen Sie die Redis -Konfigurationsdatei: Die Redis -Konfigurationsdatei befindet sich normalerweise in /etc/redis/redis.conf. Konfigurationsdatei bearbeiten: Öffnen Sie die Konfigurationsdatei mit einem Texteditor (z. B. VI oder Nano): Sudovi/etc/redis/redis.conf Setzen Sie die LUA -Skriptausführungszeit.

Verwenden Sie das Redis-Befehlszeilen-Tool (REDIS-CLI), um Redis in folgenden Schritten zu verwalten und zu betreiben: Stellen Sie die Adresse und den Port an, um die Adresse und den Port zu stellen. Senden Sie Befehle mit dem Befehlsnamen und den Parametern an den Server. Verwenden Sie den Befehl Hilfe, um Hilfeinformationen für einen bestimmten Befehl anzuzeigen. Verwenden Sie den Befehl zum Beenden, um das Befehlszeilenwerkzeug zu beenden.
