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