Lister toutes les bases de données Redis

194

J'ai exécuté cette commande pour accéder à mon serveur redis.

telnet 127.0.0.1 6379

Maintenant, je veux afficher toutes mes bases de données.

Veuillez me dire cette commande.

Merci.

Kevin Meredith
la source
Que voulez-vous dire? Afficher le nombre de bases de données disponibles? Informations sur les bases de données utilisées? ...?
Sybille Peters

Réponses:

356

Il n'y a pas de commande pour le faire (comme vous le feriez avec MySQL par exemple). Le nombre de bases de données Redis est fixe et défini dans le fichier de configuration. Par défaut, vous disposez de 16 bases de données. Chaque base de données est identifiée par un numéro (pas un nom).

Vous pouvez utiliser la commande suivante pour connaître le nombre de bases de données:

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

Vous pouvez utiliser la commande suivante pour répertorier les bases de données pour lesquelles certaines clés sont définies:

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

Veuillez noter que vous êtes censé utiliser le client "redis-cli" pour exécuter ces commandes, pas telnet. Si vous souhaitez utiliser telnet, vous devez exécuter ces commandes formatées à l'aide du protocole Redis.

Par exemple:

*2
$4
INFO
$8
keyspace

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

Vous pouvez trouver la description du protocole Redis ici: http://redis.io/topics/protocol

Didier Spezia
la source
1
Ne fonctionne pas ici:INFO keyspace ERR wrong number of arguments for 'info' command
Matt
4
Utilisez-vous une version antérieure à 2.4? Trop vieux ... essayez d'envoyer INFO sans paramètre.
Didier Spezia
redis_version: 2.4.14 n'a pas non plus d'espace de clé INFO.
hakre
80

Ou vous pouvez simplement exécuter la commande suivante et vous verrez toutes les bases de données de l'instance Redis sans démarrer redis-cli :

$ redis-cli INFO | grep ^db
db0:keys=1500,expires=2
db1:keys=200000,expires=1
db2:keys=350003,expires=1
Raphaelstolt
la source
80
Mais la même chose pourrait être obtenue avecredis-cli INFO keyspace
Roman Newaza
9
Le vote à la baisse parce que c'est fragile, est susceptible de s'interrompre dans les futures versions et parce qu'il existe une commande intégrée (comme mentionné) pour obtenir le même résultat.
Madbreaks
@RomanNewaza votre réponse devrait en fait être la réponse acceptée.
fbtb
9

vous pouvez utiliser 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
la source