Alle Redis-Datenbanken auflisten


192

Ich habe diesen Befehl ausgeführt, um auf meinen Redis-Server zuzugreifen.

telnet 127.0.0.1 6379

Jetzt möchte ich alle meine Datenbanken anzeigen.

Bitte sagen Sie mir diesen Befehl.

Vielen Dank.


Was meinst du? Anzahl verfügbarer Datenbanken anzeigen? Informationen zu verwendeten Datenbanken? ...?
Sybille Peters

Antworten:


354

Es gibt keinen Befehl, um dies zu tun (wie Sie es zum Beispiel mit MySQL tun würden). Die Anzahl der Redis-Datenbanken ist festgelegt und in der Konfigurationsdatei festgelegt. Standardmäßig haben Sie 16 Datenbanken. Jede Datenbank wird durch eine Nummer (nicht durch einen Namen) identifiziert.

Mit dem folgenden Befehl können Sie die Anzahl der Datenbanken ermitteln:

CONFIG GET databases
1) "databases"
2) "16"

Mit dem folgenden Befehl können Sie die Datenbanken auflisten, für die einige Schlüssel definiert sind:

INFO keyspace
# Keyspace
db0:keys=10,expires=0
db1:keys=1,expires=0
db3:keys=1,expires=0

Bitte beachten Sie, dass Sie den "redis-cli" -Client verwenden sollen, um diese Befehle auszuführen, nicht Telnet. Wenn Sie Telnet verwenden möchten, müssen Sie diese Befehle ausführen, die mit dem Redis-Protokoll formatiert wurden.

Zum Beispiel:

*2
$4
INFO
$8
keyspace

$79
# Keyspace
db0:keys=10,expires=0
db1:keys=1,expires=0
db3:keys=1,expires=0

Die Beschreibung des Redis-Protokolls finden Sie hier: http://redis.io/topics/protocol


1
Funktioniert hier nicht:INFO keyspace ERR wrong number of arguments for 'info' command
Matt

4
Verwenden Sie eine Version vor 2.4? Zu alt ... versuche INFO ohne Parameter zu senden.
Didier Spezia

redis_version: 2.4.14 hat auch keinen INFO-Schlüsselraum.
hakre

80

Oder Sie können einfach den folgenden Befehl ausführen und sehen alle Datenbanken der Redis-Instanz, ohne zu starten redis-cli :

$ redis-cli INFO | grep ^db
db0:keys=1500,expires=2
db1:keys=200000,expires=1
db2:keys=350003,expires=1

80
Aber das gleiche könnte erreicht werden mitredis-cli INFO keyspace
Roman Newaza

9
Downvoting, weil dies fragil ist, in zukünftigen Versionen wahrscheinlich nicht funktioniert und weil (wie erwähnt) ein Befehl eingebaut ist, um das gleiche Ergebnis zu erzielen.
Madbreaks

@RomanNewaza Ihre Antwort sollte eigentlich die akzeptierte Antwort sein.
fbtb

9

Sie können verwenden redis-cli INFO keyspace

localhost:8000> INFO keyspace
# Keyspace
db0:keys=7,expires=0,avg_ttl=0
db1:keys=1,expires=0,avg_ttl=0
db2:keys=1,expires=0,avg_ttl=0
db11:keys=1,expires=0,avg_ttl=0
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.