Elenca tutti i database Redis


194

Ho eseguito questo comando per accedere al mio server Redis.

telnet 127.0.0.1 6379

Ora voglio mostrare tutti i miei database.

Per favore dimmi questo comando.

Grazie.


Cosa intendi? Mostra il numero di database disponibili? Informazioni sui database usati? ...?
Sybille Peters,

Risposte:


356

Non c'è alcun comando per farlo (come faresti con MySQL per esempio). Il numero di database Redis è fisso e impostato nel file di configurazione. Per impostazione predefinita, hai 16 database. Ogni database è identificato da un numero (non un nome).

È possibile utilizzare il comando seguente per conoscere il numero di database:

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

È possibile utilizzare il comando seguente per elencare i database per i quali sono definite alcune chiavi:

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

Si noti che è necessario utilizzare il client "redis-cli" per eseguire questi comandi, non telnet. Se si desidera utilizzare telnet, è necessario eseguire questi comandi formattati utilizzando il protocollo Redis.

Per esempio:

*2
$4
INFO
$8
keyspace

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

Puoi trovare la descrizione del protocollo Redis qui: http://redis.io/topics/protocol


1
Non funziona qui:INFO keyspace ERR wrong number of arguments for 'info' command
Matt

4
Stai usando una versione precedente alla 2.4? Troppo vecchio ... prova a inviare INFO senza parametro.
Didier Spezia,

redis_version: 2.4.14 non ha anche lo spazio chiave INFO.
Hacre,

80

Oppure puoi semplicemente eseguire il seguente comando e vedrai tutti i database dell'istanza di Redis senza avviare redis-cli :

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

80
Ma lo stesso si potrebbe ottenere conredis-cli INFO keyspace
Roman Newaza il

9
Il downvoting perché è fragile, è probabile che si interrompa nelle versioni future e perché esiste un comando integrato (come detto) per ottenere lo stesso risultato.
Madbreaks,

@RomanNewaza la tua risposta dovrebbe effettivamente essere la risposta accettata.
fbtb,

9

Puoi usare 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
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.