Списък на всички бази данни на Redis

1. Въведение

В този кратък урок ще разгледаме различни начини за изброяване на всички бази данни, налични в Redis.

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 , използвана за получаване на информация и статистика за сървъра . Тук специално искаме да насочим вниманието си към раздела за ключови пространства , който съдържа данни, свързани с база данни:

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. Както видяхме, има различни решения и кое от тях наистина ще зависи от това, което се опитваме да постигнем.

А Впиши обикновено е най-добрият вариант, ако имаме достъп до конфигурационния файл. В противен случай можем да използваме redis-cli . RESP обикновено не е добър избор, освен ако не създаваме приложение, което се нуждае от протокол от ниско ниво. И накрая, командата INFO е полезна, ако искаме да извлечем само бази данни, които съдържат ключове.