すべてのRedisデータベースを一覧表示する


192

このコマンドを実行して、redisサーバーにアクセスしました。

telnet 127.0.0.1 6379

ここで、すべてのデータベースを表示します。

このコマンドを教えてください。

ありがとう。


どういう意味ですか?利用可能なデータベースの数を表示しますか?使用されているデータベースに関する情報?...?
シビルピーターズ

回答:


354

これを実行するコマンドはありません(たとえば、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

これらのコマンドの実行には、Telnetではなく「redis-cli」クライアントを使用することになっていることに注意してください。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
Matt

4
2.4より前のバージョンを使用していますか?古すぎます...パラメータなしでINFOを送信してみてください。
Didier Spezia 14

redis_version:2.4.14にもINFOキースペースがありません。
2015

80

または、次のコマンドを実行するだけで、起動 せずにRedisインスタンスのすべてのデータベースを確認できます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
Roman Newaza '27 / 02/27

9
これは壊れやすく、将来のリリースでは機能しなくなる可能性があり、同じ結果を達成するための組み込みコマンド(前述のとおり)があるため、反対票を投じます。
Madbreaks 2017年

@RomanNewazaあなたの返信は実際に受け入れられた答えでなければなりません。
fbtb 2018

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.