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.


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


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

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
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.