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"

最後に、低レベルのアプリケーションに適していますが、telnet接続を介して Redisシリアル化プロトコル(RESP)を使用できます。

$ 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. エントリを含むすべてのデータベースの一覧表示

キーを含むデータベースに関する詳細情報を取得したい場合があります。 そのために、サーバーに関する情報と統計を取得するために使用されるRedisINFOコマンドを利用できます。 ここでは、データベース関連のデータが含まれている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

出力には、少なくとも1つのキーを含むデータベースと、いくつかの統計が一覧表示されます。

  • 含まれているキーの数
  • 有効期限のあるキーの数
  • キーの平均存続時間

4. 結論

要約すると、この記事では、Redisでデータベースを一覧表示するさまざまな方法について説明しました。 これまで見てきたように、さまざまなソリューションがあり、どれを選択するかは、実際に何を達成しようとしているかによって異なります。

構成ファイルにアクセスできる場合は、通常、grepが最適なオプションです。 それ以外の場合は、redis-cliを使用できます。 低レベルのプロトコルを必要とするアプリケーションを構築しない限り、RESPは通常適切な選択ではありません。 最後に、 INFO コマンドは、キーを含むデータベースのみを取得する場合に役立ちます。