High Concurrency Architecture Series: Grundlegende Einführung in Redis, Analyse von fünf Datentypen und Anwendungsszenarien

1. Einführung in die grundlegenden Konzepte und Funktionen von Redis

1.1 Einführung in die Grundkonzepte von Redis

High Concurrency Architecture Series: Grundlegende Einführung in Redis, Analyse von fünf Datentypen und Anwendungsszenarien

 

1. Redis ist remote, mit einem Client und einem Server, wir sagen im Allgemeinen den Server;

2. Redis basiert auf Speicher , ist also viel schneller als MySQL auf Festplatte, verbraucht aber sehr viel Speicher

3. Redis ist eine nicht relationale Datenbank. Es ist im Wesentlichen auch eine Datenbank, aber ein Datenwörterbuch muss definiert werden, wenn die relationale MySQL-Datenbank gespeichert wird, während Redis es nicht benötigt.

1.2 Vergleich von Redis und Memcached

High Concurrency Architecture Series: Grundlegende Einführung in Redis, Analyse von fünf Datentypen und Anwendungsszenarien

 

Alle Redis-Datentypen unterstützen Push / Pop, Hinzufügen / Entfernen, Schnittmenge, Vereinigung und Differenz sowie umfangreichere Operationen. Diese Operationen sind alle atomar.

Wie bei Memcached werden Daten zur Sicherstellung der Effizienz im Speicher zwischengespeichert. Der Unterschied besteht darin, dass Redis regelmäßig aktualisierte Daten auf die Festplatte schreibt oder Änderungsvorgänge in zusätzliche Datensatzdateien schreibt und auf dieser Basis die Master-Slave-Synchronisation (Master-Slave) realisiert.

1.3 Redis unterstützt die Master-Slave-Synchronisation.

Daten können vom Master-Server mit einer beliebigen Anzahl von Slave-Servern synchronisiert werden, und der Slave-Server kann der Master-Server sein, der anderen Slave-Servern zugeordnet ist. Dadurch kann Redis eine einstufige Baumreplikation durchführen. Auf Festplatte speichern kann absichtlich oder unbeabsichtigt Daten schreiben. Da der Publish / Subscribe- Mechanismus vollständig implementiert ist , kann er einen Kanal abonnieren und den vollständigen Nachrichtenveröffentlichungsdatensatz des Master-Servers empfangen, wenn der Baum irgendwo aus der Datenbank synchronisiert wird. Die Synchronisation ist sehr hilfreich für die Skalierbarkeit und Datenredundanz von Lesevorgängen.

Zwei Redis-Anwendungsszenarien

2.1 Cache

High Concurrency Architecture Series: Grundlegende Einführung in Redis, Analyse von fünf Datentypen und Anwendungsszenarien

 

Redis wird häufig als Datencache verwendet .

Wenn einige Systemschnittstellen langsam sind, können wir einige Daten in Redis zwischenspeichern. Beim nächsten Abrufen von Daten werden keine sehr zeitaufwändigen SQL-Vorgänge ausgeführt. Wir werden Daten direkt aus dem Cache abrufen, um die Systemleistung zu verbessern. Eine der Methoden;

2.2 Warteschlange

Push- und Pop-Operationen stellen die Realisierung der Atomizität sicher;

2.3 Datenspeicherung

Alle Hinzufügungen, Löschungen, Änderungen und Überprüfungen werden in Redis durchgeführt. Redis verfügt über einen Mechanismus zur Persistenz der Festplatte, der regelmäßig gespeichert wird, um die Datenintegrität und -sicherheit zu gewährleisten.

  • Zeigen Sie den redis-Client an: welche redis-cli
  • Login: redis-cli (standardmäßig Login an Port 6379 dieses Computers)
  • Befehl info zum Anzeigen von Redis-Informationen

Drei, Redis-Datentyp

In redis können zusätzlich zu \ n und Leerzeichen nicht als Komponenteninhalt des Namens verwendet werden, andere Inhalte können als Namensteil des Schlüssels verwendet werden. Die Länge des Namens ist nicht erforderlich.

High Concurrency Architecture Series: Grundlegende Einführung in Redis, Analyse von fünf Datentypen und Anwendungsszenarien

 

High Concurrency Architecture Series: Grundlegende Einführung in Redis, Analyse von fünf Datentypen und Anwendungsszenarien

 

3.1 String-Typ-Operation

High Concurrency Architecture Series: Grundlegende Einführung in Redis, Analyse von fünf Datentypen und Anwendungsszenarien

 

Funktion: Geben Sie Zeichenfolgen- oder Ganzzahloperationen an.

setze Schlüsselwert (string / int / float) 
get keyincr string [Wert] // 自 增 decrby string [Wert] // 自 减

String ist die grundlegendste Art von Redis

Die Redis-Zeichenfolge kann beliebige Daten enthalten. Einschließlich JPG-Bilder (binär) oder serialisierte Objekte.

Die maximale Obergrenze eines einzelnen Werts beträgt 1 GB.

Wenn nur der Zeichenfolgentyp verwendet wird, kann Redis als Memcache mit Persistenzfunktionen betrachtet werden.

High Concurrency Architecture Series: Grundlegende Einführung in Redis, Analyse von fünf Datentypen und Anwendungsszenarien

 

3.2 Liste verknüpfter Listentyp

High Concurrency Architecture Series: Grundlegende Einführung in Redis, Analyse von fünf Datentypen und Anwendungsszenarien

 

Funktion: Speichersequenzsammlung, kann für Warteschlangen-, Push- und Pop-Operationen verwendet werden

Drücken Sie links in 
rpop und rechts in llen, um zu sehen, wie viele Elemente in der Liste enthalten sind

Der Listentyp ist first-in, first-out und für Warteschlangen geeignet. Für List müssen die darin enthaltenen Elemente nicht eindeutig sein

(1. Einleitung

Erhalten Sie die neuesten 10 Login-Benutzerinformationen: Wählen Sie * aus der Benutzerreihenfolge nach Logintime ab. Limit 10;

Die obige SQL-Anweisung kann die Benutzeranforderungen erfüllen. Wenn jedoch viele Daten vorhanden sind, sind alle Daten betroffen, und die Belastung der Datenbank ist relativ hoch. Bei Bedarf muss auch ein Index für das Schlüsselfeld (ID oder Anmeldezeit) festgelegt werden, der auch Systemressourcen verbraucht.

Wenn die oben genannten Funktionen über die Listenverknüpfungsliste erreicht werden, können nur die letzten 10 Daten in der Listenverknüpfungsliste gespeichert werden, und alle neuen Daten werden jedes Mal gelöscht, wenn neue Daten eingehen. Jedes Mal können Sie die erforderlichen Daten direkt aus der verknüpften Liste abrufen. Sparen Sie alle Aspekte des Ressourcenverbrauchs

(2) Anwendung

Der Listentyp ist eigentlich eine doppelt verknüpfte Liste. Hinzufügen und Löschen von Elementen aus dem Kopf oder Ende der verknüpften Liste durch Push- und Pop-Vorgänge.

Dadurch kann die Liste sowohl als Stapel als auch als Warteschlange verwendet werden.

Top in, Top out: stapeln

Oben rein und unten raus: Warteschlange

High Concurrency Architecture Series: Grundlegende Einführung in Redis, Analyse von fünf Datentypen und Anwendungsszenarien

 

High Concurrency Architecture Series: Grundlegende Einführung in Redis, Analyse von fünf Datentypen und Anwendungsszenarien

 

  1. Bereichstaste 0 -1 Nehmen Sie alle Elemente heraus.
  2. lrem key n / -n X Löscht das angegebene Element n-mal.
  3. Schlüssel nach / vor Schlüssel1 einfügen2 Schlüssel2 Schlüssel / nach / vor Schlüssel1 einfügen.
  4. rpoplpush key1 key2 fügt den richtigen Schlüssel von key1 in die verknüpfte Liste key2 ein, Atomicity .

High Concurrency Architecture Series: Grundlegende Einführung in Redis, Analyse von fünf Datentypen und Anwendungsszenarien

 

Funktion: Ungeordnete Sammlung, jedes Element ist anders .

High Concurrency Architecture Series: Grundlegende Einführung in Redis, Analyse von fünf Datentypen und Anwendungsszenarien

 

3.3 Typ einstellen

Der Set-Typ speichert mehrere verschiedene Elemente in ungeordneter Weise und kann schnell Elemente hinzufügen, suchen und löschen, wobei dasselbe Element nur als eines gezählt wird .

Der Satz von Redis ist eine ungeordnete Sammlung von Zeichenfolgentypen.

Das gesetzte Element kann bis zu (2 bis 32. Potenz-1) Elemente enthalten.

In Bezug auf den Satzsammlungstyp zusätzlich zu den grundlegenden Operationen zum Hinzufügen und Löschen

Ein anderer nützlicher Satz von Operationen umfasst ferner das Nehmen der Vereinigung (Vereinigung), des Schnittpunkts (Schnittpunkt),  des Differenzsatzes (Differenz). Durch diese Operationen kann die Freundempfehlungsfunktion in sns leicht realisiert werden .

Hinweis: Jedes Element in jedem Satz kann nicht wiederholt werden.

High Concurrency Architecture Series: Grundlegende Einführung in Redis, Analyse von fünf Datentypen und Anwendungsszenarien

 

Diese Art der Anwendung: Empfohlen von QQ-Freunden.

Tom Freundeskreis (Freunde mit XX): Mary Jack Xiaoming Wang5 Wang6 
Link Freundeskreis (Freunde mit XX): Yuehan Daxiong Luce Wang5 Wang6

High Concurrency Architecture Series: Grundlegende Einführung in Redis, Analyse von fünf Datentypen und Anwendungsszenarien

 

3.4 Hash-Typ

High Concurrency Architecture Series: Grundlegende Einführung in Redis, Analyse von fünf Datentypen und Anwendungsszenarien

 

Funktion: Die Schlüsselwertstruktur wird gespeichert, und der Schlüssel muss eine Zeichenfolge sein

Hash wird häufig zum Speichern komplexerer Strukturen verwendet und benötigt nur unterschiedliche Schlüssel wie Name, Alter usw.

Einfügen / Ändern: hset hash1 key1 12 
get: hash1 key1 view hash länge: hlen key einmalig get: hmget hash1 key1 key2

High Concurrency Architecture Series: Grundlegende Einführung in Redis, Analyse von fünf Datentypen und Anwendungsszenarien

 

High Concurrency Architecture Series: Grundlegende Einführung in Redis, Analyse von fünf Datentypen und Anwendungsszenarien

 

3.5 Sortiersatz Sortiersatztyp

High Concurrency Architecture Series: Grundlegende Einführung in Redis, Analyse von fünf Datentypen und Anwendungsszenarien

 

Funktion: Speicher ist eine geordnete Sammlung von Partituren, die häufig für Bestenlisten verwendet werden .

Sortiersatz wird häufig für Rangfolgen verwendet, z. B. für die Rangfolge der Klassenleistung

Speicher ist wie Hash eine Zuordnung. Was gespeichert wird, ist die Zuordnung zwischen Partituren und Elementen. Es ist zu sehen, dass es die Rangliste ist.

Der Wert muss global eindeutig sein.

score ist ein Gleitkommatyp.

Sortiersatztypoperation: Wenn die Bewertungen der beiden Elemente gleich sind, werden sie in Bytereihenfolge angeordnet

Hinzufügen / Ändern: zadd zset1 10.1 val1 Anzeigenummer 
: zcard zset1 Anzeigen der Rangfolge: zrange zset1 0 2 withscores Anzeigen einer bestimmten Wertrangliste: zrank zset1 val2

Wie set ist auch sorted set eine Sammlung von Elementen vom Typ String. Der Unterschied besteht darin, dass jedes Element einer Gewichtung zugeordnet ist . Die Elemente im Satz können in der Reihenfolge ihres Gewichts erhalten werden.

Der Sortiersatztyp eignet sich für folgende Anlässe:

Informationen zu beliebten Posts (Antwortvolumen) abrufen: Wählen Sie * aus der Nachrichtenreihenfolge nach Backnum Desc Limit 5 aus.

(Die oben genannten Anforderungen können durch einfache SQL-Anweisungen erreicht werden, aber SQL-Anweisungen verbrauchen MySQL-Datenbankressourcen.)

Fall: Verwenden Sie Sortiersatz, um die 5 beliebtesten Beiträge zu erhalten

High Concurrency Architecture Series: Grundlegende Einführung in Redis, Analyse von fünf Datentypen und Anwendungsszenarien

 

Jedes Element in der sortierten Menge ist eine Kombination aus Wert und Gewicht (jedes Element des vorherigen Satzauflistungstyps ist nur ein Wert).

High Concurrency Architecture Series: Grundlegende Einführung in Redis, Analyse von fünf Datentypen und Anwendungsszenarien

 

Wir erstellen nur einen Sortiersatz und behalten nur 5 Elemente darin. Die 5 Elemente sind die meisten Antworten

Wenn jeder Beitrag beantwortet wird, besteht die Möglichkeit, in die Sammlung einzutreten. Es sind jedoch nur die fünf besten Beiträge mit der höchsten Anzahl von Antworten in der Sammlung vorhanden, und diejenigen mit niedrigen Antworten werden gelöscht.

Zu guter Letzt

Freunde, die dies lesen, können weiterleiten und folgen, und weitere Artikelserien werden später aktualisiert, um sie zu teilen und zu lesen!

Ich denke du magst

Origin blog.csdn.net/python8989/article/details/108524328
Empfohlen
Rangfolge