Wyświetl wszystkie bazy danych Redis


194

Uruchomiłem to polecenie, aby uzyskać dostęp do mojego serwera Redis.

telnet 127.0.0.1 6379

Teraz chcę pokazać wszystkie moje bazy danych.

Powiedz mi to polecenie.

Dzięki.


Co masz na myśli? Pokaż liczbę dostępnych baz danych? Informacje o używanych bazach danych? ...
Sybille Peters

Odpowiedzi:


356

Nie ma do tego polecenia (tak jak na przykład w przypadku MySQL). Liczba baz danych Redis jest stała i ustawiona w pliku konfiguracyjnym. Domyślnie masz 16 baz danych. Każda baza danych jest oznaczona numerem (nie nazwą).

Aby poznać liczbę baz danych, możesz użyć następującego polecenia:

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

Można użyć następującego polecenia, aby wyświetlić listę baz danych, dla których zdefiniowano niektóre klucze:

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

Pamiętaj, że do uruchamiania tych poleceń należy używać klienta „redis-cli”, a nie telnet. Jeśli chcesz korzystać z usługi Telnet, musisz uruchomić te polecenia sformatowane przy użyciu protokołu Redis.

Na przykład:

*2
$4
INFO
$8
keyspace

$79
# Keyspace
db0:keys=10,expires=0
db1:keys=1,expires=0
db3:keys=1,expires=0

Opis protokołu Redis można znaleźć tutaj: http://redis.io/topics/protocol


1
Nie działa tutaj:INFO keyspace ERR wrong number of arguments for 'info' command
Matt

4
Czy korzystasz z wersji wcześniejszej niż 2.4? Za stary ... spróbuj wysłać INFO bez parametru.
Didier Spezia

redis_version: 2.4.14 nie ma również przestrzeni klawiszy INFO.
hakre

80

Lub możesz po prostu uruchomić następujące polecenie i zobaczysz wszystkie bazy danych instancji Redis bez uruchamiania redis-cli :

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

80
Ale to samo można osiągnąć zredis-cli INFO keyspace
Romanem Newazą

9
Głosowanie w dół, ponieważ jest to niestabilne, może zepsuć się w przyszłych wydaniach oraz ponieważ istnieje wbudowane polecenie (jak wspomniano), aby osiągnąć ten sam wynik.
Madbreaks

@RomanNewaza twoja odpowiedź powinna być faktycznie zaakceptowaną odpowiedzią.
fbtb,

9

możesz użyć 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
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.