모든 Redis 데이터베이스 나열


194

이 명령을 실행하여 redis 서버에 액세스했습니다.

telnet 127.0.0.1 6379

이제 모든 데이터베이스를 표시하고 싶습니다.

이 명령을 알려주세요.

감사.


무슨 소리 야? 사용 가능한 데이터베이스 수를 표시 하시겠습니까? 사용 된 데이터베이스에 대한 정보? ...?
Sybille Peters

답변:


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"클라이언트를 사용하여 텔넷이 아닌 이러한 명령을 실행해야합니다. 텔넷을 사용하려면 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
Matt

4
2.4 이전 버전을 사용하고 있습니까? 너무 오래되었습니다 ... 매개 변수없이 INFO를 보내십시오.
디디에 스페 치아

redis_version : 2.4.14에는 INFO 키 공간도 없습니다.
hakre

80

또는 당신은 다음과 같은 명령을 실행할 수 있습니다 당신은없이 레디 스 인스턴스의 모든 데이터베이스를 볼 수 최대 발사 redis-cli :

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

80
그러나 같은 달성 할 수redis-cli INFO keyspace
로마 Newaza

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
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.