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.

Kevin Meredith
quelle
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

Didier Spezia
quelle
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
Raphaelstolt
quelle
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
macno
quelle