Redis
 sql >> Datenbank >  >> NoSQL >> Redis

So erhalten Sie alle Schlüssel in Redis

  • Die meisten (aber nicht alle) Objekte verwenden einen Schlüssel
    • Namespaces verwenden
  • Alle vorhandenen Schlüssel abrufen

Wie bei anderen nicht relationalen Datenbank-Engines kann es manchmal schwierig sein, sich Gedanken darüber zu machen, wie Redis mit Datenstrukturen und Assoziationen umgeht. Dies gilt insbesondere, wenn Redis mit traditionelleren relationalen Datenbanken mit Quarantänetabellen verglichen wird, die jeweils mehrere Zeilen und Spalten enthalten, um Daten aufzunehmen.

Da Redis nicht relational ist, wird alles im System mit grundlegendem key/value konfiguriert Paare auf der einfachsten Ebene. Insbesondere während der Entwicklung kann es schwierig sein, den Überblick über alles zu behalten, was bereits in der Datenbank vorhanden ist. Daher behandeln wir in diesem kurzen Tutorial die Methode zum Abrufen aller keys aus einer Redis-Datenbank mit einigen einfachen Befehlen.

Die meisten (aber nicht alle) Objekte verwenden einen Schlüssel

Für die überwiegende Mehrheit der Datenspeicherung mit Redis werden Daten in einem einfachen key/value gespeichert Paar. Dies wird am besten durch das redis-cli gezeigt (Befehlszeilenschnittstelle) mit GET und SET Befehle.

Beispielsweise möchten wir möglicherweise einige Informationen über books speichern , wie zum Beispiel title und author von einigen unserer Favoriten.

> SET title "The Hobbit"
OK
> SET author "J.R.R. Tolkien"
OK

Der title und author sind die keys wir gesetzt haben und die tatsächlichen Zeichenfolgenwerte wurden danach angegeben. So können wir sie mit GET anzeigen , etwa so:

> GET title
"The Hobbit"
> GET author
"J.R.R. Tolkien"

Namespaces verwenden

Das ist alles schön und gut, aber wie fügen wir ein weiteres Buch hinzu? Wir können denselben title nicht wiederverwenden und author oder wir überschreiben die vorhandenen Daten. Stattdessen können wir die Namespace-Syntax verwenden, indem wir einen : verwenden Trennzeichen und jedem title geben oder author geben Sie einen eindeutigen numerischen key ein :

> SET title:1 "The Hobbit"
OK
> SET author:1 "J.R.R. Tolkien"
OK
> SET title:2 "The Silmarillion"
OK
> SET author:2 "The Silmarillion"
OK

Jetzt mit GET erfordert das Hinzufügen des eindeutigen numerischen key auch:

> GET title:1
"The Hobbit"
> GET title:2
"The Silmarillion"

Alle vorhandenen Schlüssel abrufen

Wie sich herausstellt, wird jeder SET Befehl, den wir oben ausgegeben haben, erstellte einen neuen, eindeutigen key in unserer Redis-Datenbank. Um eine Liste aller aktuellen keys zu erhalten die vorhanden sind, verwenden Sie einfach die KEYS Befehl:

> KEYS *
1) "title:1"
2) "title:2"
3) "title"
4) "author:2"
5) "author"
6) "author:1"

Indem Sie KEYS folgen mit einem Sternchen (* ) – die als Platzhaltersuche fungiert – bitten wir Redis, alle Schlüssel im System abzurufen. Somit sehen wir nicht nur unsere beiden ursprünglichen title und author Schlüssel, sondern auch die vier folgenden aufgezählten Versionen.

Die Syntax nach KEYS kann verwendet werden, um nach bestimmten Wörtern oder Phrasen innerhalb des Schlüssels oder auch nach der genauen Übereinstimmung zu suchen. Hier wollen wir alle Schlüssel, die den Text 'title' enthalten :

> KEYS *title*
1) "title:1"
2) "title:2"
3) "title"

ACHTUNG:Wie in der offiziellen Dokumentation erwähnt, ist es ratsam, die Verwendung der KEYS zu vermeiden Befehl auf sehr großen Datenbanken, aber vermeiden Sie insbesondere die Verwendung in einer Produktionsumgebung. Seit KEYS möglicherweise jeden Schlüssel im System zurückgibt, kann dies dramatische negative Auswirkungen auf die Leistung haben.