如何列出所有的Redis数据库?

我运行这个命令来访问我的redis服务器。

telnet 127.0.0.1 6379

显示所有数据库的命令是什么?

363651 次浏览

没有命令可以执行它(就像使用MySQL那样)。Redis数据库的数量是固定的,在配置文件中设置。默认情况下,您有16个数据库。每个数据库由一个数字(而不是名称)标识。

可以通过以下命令了解数据库的数量:

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

您可以使用以下命令列出定义了某些键的数据库:

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

请注意,您应该使用“redis-cli”客户端来运行这些命令,而不是telnet。如果您想使用telnet,那么您需要运行这些使用Redis协议格式化的命令。

例如:

*2
$4
INFO
$8
keyspace


$79
# Keyspace
db0:keys=10,expires=0
db1:keys=1,expires=0
db3:keys=1,expires=0
你可以在这里找到Redis协议的描述: http://redis.io/topics/protocol < / p >

或者你可以只运行下面的命令,你会看到Redis实例的所有数据库没有解雇了 redis-cli:

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

你可以使用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

也许这是最令人难忘且绝对是最完整的方法,将#Keyspaces部分方便地显示在末尾:

$ redis-cli info

如果你设置了密码(例如使用名为REDIS_PASS的env变量),将其传递给-a (auth)参数:

$ redis-cli -a $REDIS_PASS info