Список всех баз данных Redis

194

Я запустил эту команду для доступа к моему серверу redis.

telnet 127.0.0.1 6379

Теперь я хочу показать все свои базы данных.

Пожалуйста, скажи мне эту команду.

Спасибо.

Кевин Мередит
источник
Что вы имеете в виду? Показать количество доступных баз данных? Информация об используемых базах данных? ...?
Сибил Питерс

Ответы:

356

Для этого нет команды (как, например, вы сделали бы это с 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

Дидье Специя
источник
1
Не работает здесь:INFO keyspace ERR wrong number of arguments for 'info' command
Мэтт
4
Вы используете версию до 2.4? Слишком старый ... попробуйте отправить INFO без параметра.
Дидье Специя
redis_version: 2.4.14 также не имеет пространства ключей INFO.
Хакре
80

Или вы можете просто запустить следующую команду , и вы увидите все базы данных экземпляра Redis без розжига redis-cli :

$ redis-cli INFO | grep ^db
db0:keys=1500,expires=2
db1:keys=200000,expires=1
db2:keys=350003,expires=1
raphaelstolt
источник
80
Но того же можно достичь с помощьюredis-cli INFO keyspace
Романа Ньюаза
9
Понижающее голосование, потому что это хрупко, вероятно, сломается в будущих выпусках, и потому что есть встроенная команда (как уже упоминалось) для достижения того же результата.
Madbreaks
@RomanNewaza ваш ответ должен быть принятым ответом.
fbtb
9

ты можешь использовать 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
источник