Автор оригинала: Donato Rimenti.
Список Всех Баз Данных Redis
В этом коротком уроке мы рассмотрим различные способы перечисления всех баз данных, доступных в Red is .
2. Перечисление Всех Баз Данных
Во-первых, количество баз данных в Redis фиксировано . Поэтому мы можем извлечь эту информацию из файла конфигурации с помощью простой команды grep :
$ cat redis.conf | grep databases databases 16
Но что, если у нас нет доступа к файлу конфигурации? В этом случае мы можем получить необходимую информацию, прочитав конфигурацию во время выполнения через redis-cli :
127.0.0.1:6379> CONFIG GET databases 1) "databases" 2) "16"
Наконец, несмотря на то, что он больше подходит для приложений низкого уровня, мы можем использовать протокол сериализации Redis (RESP) через соединение telnet:
$ telnet 127.0.0.1 6379 Trying 127.0.0.1... Connected to 127.0.0.1. Escape character is '^]'. *3 $6 CONFIG $3 GET $9 databases *2 $9 databases $2 16
3. Список Всех Баз Данных С Записями
Иногда нам захочется получить больше информации о базах данных, содержащих ключи. Для этого мы можем воспользоваться командой Redis INFO , используемой для получения информации и статистики о сервере . Здесь мы специально хотим сосредоточить наше внимание на разделе keyspace , который содержит данные, связанные с базой данных:
127.0.0.1:6379> INFO keyspace # Keyspace db0:keys=2,expires=0,avg_ttl=0 db1:keys=4,expires=0,avg_ttl=0 db2:keys=9,expires=0,avg_ttl=0
В выходных данных перечислены базы данных, содержащие по крайней мере один ключ, а также несколько статистических данных:
- количество содержащихся ключей
- количество ключей с истекшим сроком действия
- среднее время жизни ключей
4. Заключение
Подводя итог, в этой статье были рассмотрены различные способы перечисления баз данных в Redis. Как мы уже видели, существуют различные решения, и то, какое из них мы выберем, действительно зависит от того, чего мы пытаемся достичь.
A group , как правило, является лучшим вариантом, если у нас есть доступ к файлу конфигурации. В противном случае мы можем использовать redis-cli . RESP обычно не является хорошим выбором, если мы не создаем приложение, которое нуждается в протоколе низкого уровня. Наконец, команда INFO полезна, если мы хотим получить только базы данных, содержащие ключи.