Heim > Datenbank > MySQL-Tutorial > Hauptteil

Was ist Redis? Welche Anwendungsszenarien gibt es?

不言
Freigeben: 2018-09-27 14:22:42
Original
2562 Leute haben es durchsucht

In diesem Artikel erfahren Sie, was Redis ist. Welche Anwendungsszenarien gibt es? Es hat einen gewissen Referenzwert. Freunde in Not können sich darauf beziehen. Ich hoffe, es wird Ihnen hilfreich sein.

1. Einführung in Redis

Redis ist eine Open-Source-Schlüsselwert-Single-Threaded-Datenbank, die Daten vom Typ String, Liste, Set, Zset und Hash unterstützt.

Standardport: 6379

Standardanzahl der Datenbanken: 16

2. Vorteile:

1.nosql-Datenbank hat keine Korrelation, einfache Datenstruktur, und Erweiterungstabellen sind einfacher

2.nosql hat eine schnelle Lesegeschwindigkeit und eine schnelle Verarbeitung größerer Datenmengen

3. Anwendbare Szenarien:

1. Hochgradig gleichzeitiges Lesen und Schreiben von Daten

2. Lesen und Schreiben großer Datenmengen

Daten mit hohen Skalierbarkeitsanforderungen

4. Unbequeme Szenarien:

1. Transaktionsunterstützung erforderlich (nicht relationale Datenbank)

2. Basierend auf strukturierter SQL-Abfragespeicherung

5, Anwendungsszenarien

Die folgenden Autoren sind Redis-Autor @antirez. Er beschreibt einige Anwendungsszenarien, für die NoSQLFan sie hier einfach auflistet, damit jeder einen Überblick hat:

1. Der Vorgang zum Abrufen der neuesten N-Daten

Wenn wir beispielsweise normalerweise die neuesten Artikel auf Ihrer Website abrufen, können wir mit der folgenden Methode die IDs der letzten 5000 Kommentare einfügen Redis-Listensammlung, und der überschüssige Teil wird aus der Datenbank abgerufen

  • Verwenden Sie den Befehl LPUSH Latest.comments, um Daten in die Listensammlung

  • Nachdem das Einfügen abgeschlossen ist, verwenden Sie den LTRIM-Befehl „latest.comments 0 5000“, um immer nur die neuesten 5000 IDs zu speichern

  • Dann können wir die verwenden Folgendes beim Abrufen von Kommentaren zu einer bestimmten Seite auf der Client-Logik (Pseudocode)

  • FUNCTION get_latest_comments(start,num_items):
        id_list = redis.lrange("latest.comments",start,start+num_items-1)
        IF id_list.length < num_items
            id_list = SQL_DB("SELECT ... ORDER BY time LIMIT ...")
        END
        RETURN id_list
    END
    Nach dem Login kopieren
Wenn Sie unterschiedliche Filterdimensionen haben, z. B. die neuesten N Elemente einer bestimmten Kategorie, können Sie diese erstellen Eine andere Liste basierend auf dieser Kategorie und nur die ID speichern. Wenn ja, ist Redis sehr effizient.

2.

Ranking-Anwendung, TOP N-Operationen übernehmen

Der Unterschied zwischen dieser Anforderung und der obigen Anforderung besteht darin, dass die vorherige Operation die Zeit als Gewicht verwendet und diese Die erste Bedingung ist die Gewichtung, z. B. die Sortierung nach der Anzahl der Likes. Zu diesem Zeitpunkt muss unser

sortierter Satz verwendet werden. Stellen Sie den Wert ein, den Sie sortieren möchten >set und setzen Sie die spezifischen Daten auf den entsprechenden Wert. Sie müssen jedes Mal nur einen ZADD-Befehl ausführen. 3. Anwendungen, die die Ablaufzeit genau festlegen müssen

Zum Beispiel können Sie den Score-Wert des oben genannten sortierten Satzes auf den Zeitstempel des Ablaufs festlegen Zeit, dann Sie können einfach nach der Ablaufzeit sortieren und die abgelaufenen Daten regelmäßig löschen. Dadurch werden nicht nur die abgelaufenen Daten in Redis gelöscht, Sie können die Ablaufzeit in Redis auch vollständig als Index der Daten in der Datenbank betrachten und verwenden Redis findet heraus, welche Daten abgelaufen sind und löscht dann die entsprechenden Datensätze genau aus der Datenbank.

4.

Zähleranwendung

Redis-Befehle sind atomar und Sie können problemlos INCR- und DECR-Befehle verwenden, um ein Zählersystem aufzubauen.

5. Uniq-Operation zum Abrufen der Deduplizierungswerte aller Daten innerhalb eines bestimmten Zeitraums

Dies ist die am besten geeignete festgelegte Datenstruktur, die Sie nur weiter werfen müssen in den Satz bedeutet Sammlung, daher wird er automatisch dedupliziert.

6. Echtzeitsystem,

Anti-Spam-System

Über die oben genannte Set-Funktion können Sie erkennen, ob ein Endbenutzer einen bestimmten Vorgang ausgeführt hat Hier finden Sie eine Sammlung von Operationen und Analysen, statistische Vergleiche usw. Nichts ist unmöglich, nur unvorstellbar.

7. Pub/Sub baut ein Echtzeit-Messaging-System auf

Das Pub/Sub-System von Redis kann ein Echtzeit-Messaging-System aufbauen, wie beispielsweise viele Beispiele für Echtzeit-Chat-Systeme mit Pub/Sub.

8. Erstellen Sie ein

Warteschlangensystem

Sie können ein Warteschlangensystem mithilfe einer Liste erstellen, und Sie können sogar ein

Warteschlangensystem mit Priorität

erstellen sortiertes Set.

Das obige ist der detaillierte Inhalt vonWas ist Redis? Welche Anwendungsszenarien gibt es?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!