Heim > Datenbank > Redis > Hauptteil

Was ist die Redis-Datenstruktur?

PHPz
Freigeben: 2023-05-28 10:16:29
nach vorne
1170 Leute haben es durchsucht

Redis ist eine leistungsstarke Schlüsselwertdatenbank. Das Aufkommen von Redis hat die Mängel der Schlüsselwertspeicherung wie Memcached weitgehend ausgeglichen und kann in manchen Situationen eine sehr gute Ergänzung zu relationalen Datenbanken spielen.

Was ist die Redis-Datenstruktur?

1. String

Der String-Typ ist die grundlegendste Datenstruktur von Redis. Zunächst ist der Schlüssel der String-Typ, und mehrere andere Strukturen werden auf der Grundlage des String-Typs erstellt, also des Strings Typ kann Es legt den Grundstein für das Erlernen der anderen vier Datenstrukturen. Der Zeichenfolgentyp kann tatsächlich eine Zeichenfolge sein (einfache Zeichenfolge, komplexe Zeichenfolge (XML, JSON), Zahl (Ganzzahl, Gleitkommazahl), Binärzahl (Bild, Audio, Video)), das Maximum darf jedoch 512 MB nicht überschreiten.

Verwendungsszenario: Cache-Funktion: Das klassischste Verwendungsszenario für Zeichenfolgen ist Redis die Caching-Schicht und MySQL die Speicherschicht. Die meisten Anforderungsdaten werden von Redis abgerufen, da Redis über die Funktion verfügt, eine hohe Parallelität zu unterstützen kann normalerweise funktionieren, um das Lesen und Schreiben zu beschleunigen und den Back-End-Druck zu verringern. (Warum Redis die Eigenschaften hat, eine hohe Parallelität zu unterstützen, wird im nächsten Artikel erläutert.) Zähler: Viele Anwendungen verwenden Redis als grundlegendes Zählwerkzeug. Es kann die Funktionen des schnellen Zählens und Abfrage-Cachings realisieren und die Daten in einem Schritt an andere Datenquellen übertragen. Die Kernkomponente des Video-Play-Count-Systems ist Redis, das zum Zählen der Video-Plays verwendet wird. Gemeinsame Sitzung: Aus Gründen des Lastausgleichs verteilen verteilte Dienste den Zugriff auf Benutzerinformationen möglicherweise erneut auf verschiedene Server. Um dieses Problem zu vermeiden, kann Redis verwendet werden, um Benutzersitzungen zentral zu verwalten Solange die hohe Verfügbarkeit und Skalierbarkeit von Redis gewährleistet ist, werden Benutzeraktualisierungen oder Anmeldeinformationen jedes Mal direkt von Redis abgerufen. Geschwindigkeitsbegrenzung: Aus Sicherheitsgründen müssen Benutzer bei jeder Anmeldung einen Mobiltelefon-Verifizierungscode eingeben. Um zu verhindern, dass häufig auf die SMS-Schnittstelle zugegriffen wird, wird die Häufigkeit, mit der Benutzer pro Minute Verifizierungscodes erhalten, begrenzt.

2. Hash

In Redis bezieht sich der Hash-Typ auf den Schlüssel selbst, der eine Schlüssel-Wert-Paarstruktur ist, wie etwa value={{field1,value1},……fieldN,valueN}}

Hash Die Struktur ist intuitiver als die String-Serialisierung und für Aktualisierungsvorgänge praktischer, sodass sie sich besser zum Zwischenspeichern von Informationen eignet. Daher wird es häufig für die Benutzerinformationsverwaltung usw. verwendet, der Hash-Typ unterscheidet sich jedoch von der relationalen Datenbank. Der Hash-Typ ist spärlich, während die relationale Datenbank vollständig strukturiert ist. Die relationale Datenbank kann komplexe relationale Abfragen durchführen Die Simulation komplexer relationaler Abfragen ist schwierig zu entwickeln und die Wartungskosten sind hoch.

3. Der Listentyp wird zum Speichern mehrerer geordneter Zeichenfolgen in der Liste verwendet. Eine Liste kann bis zu 2 hoch 32 Elemente speichern ) und Pop (Pop) an beiden Enden der Warteschlangentabelle. Sie können auch eine Liste von Elementen in einem bestimmten Bereich abrufen, Elemente in der Tabelle unter einem angegebenen Index abrufen usw. Die Liste ist eine relativ flexible Datenstruktur, die verwendet werden kann Als Stapel hat die Warteschlange viele Anwendungsszenarien.

Listen haben geordnete Elemente, sodass Sie Indexindizes verwenden können, um einzelne oder mehrere Elemente abzurufen. Elemente in der Liste können wiederholt werden.

Verwendungsszenario: Nachrichtenwarteschlange: Die Befehlskombination lpush+brpop von Redis kann eine Blockierungswarteschlange realisieren. Der Producer-Client verwendet lupsh, um Elemente von der linken Seite der Liste einzufügen, und mehrere Consumer-Clients verwenden den Befehl brpop, um beim Blockieren zu „greifen“. Elemente am Ende der Liste sorgen für Lastausgleich und hohe Verfügbarkeit des Clipboard.png-Nachrichtenwarteschlangenmodells: Jeder Benutzer hat seine eigene Artikelliste, und jetzt muss die Artikelliste in Seiten angezeigt werden Zu diesem Zeitpunkt können Sie die Verwendung einer Liste in Betracht ziehen, die nicht nur geordnet ist, sondern auch das Abrufen von Elementen entsprechend dem Indexbereich unterstützt. 4. Sets Elemente unterstützt Redis nicht nur das Hinzufügen, Löschen, Ändern und Abfragen innerhalb einer Sammlung, sondern auch Schnittmengen, Vereinigungen und Differenzmengen mehrerer Sammlungen. Durch die ordnungsgemäße Verwendung von Sammlungstypen können viele praktische Probleme in der tatsächlichen Entwicklung gelöst werden.

Nutzungsszenarien: Typisches Nutzungsszenario des Sammlungstyps. Ein Benutzer interessiert sich beispielsweise mehr für Unterhaltung und Sport, und ein anderer interessiert sich möglicherweise für Nachrichten. Mit diesen Daten können Sie dieselben Tags erhalten von Personen und Tags allgemeiner Hobbys von Benutzern sind für die Benutzererfahrung und starke Benutzerbindung wichtiger. Die Beziehungspflege von Benutzern und Tags sollte in derselben Transaktion durchgeführt werden, um zu verhindern, dass bestimmte Befehle fehlschlagen und Dateninkonsistenzen verursachen

5. Geordnete Mengen

Geordnete Mengen sind zwangsläufig mit Mengen verbunden. Sie behalten die Funktion bei, dass Mengen keine doppelten Mitglieder haben können, aber der Unterschied besteht darin, dass die Elemente in geordneten Mengen sortiert werden können Die Verwendung von Indexindizes als Sortiergrundlage besteht darin, dass für jedes Element eine Bewertung als Grundlage für die Sortierung festgelegt wird. (Elemente in einer geordneten Menge können nicht wiederholt werden, csore kann jedoch wiederholt werden, genau wie die Schülerzahlen der Schüler in einer Klasse nicht wiederholt werden können, ihre Testergebnisse jedoch gleich sein können.)

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

Verwandte Etiketten:
Quelle:yisu.com
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