Redisでデータベースを切り替える方法

Redisはデフォルトで16個のデータベースを持っていて、それぞれ0~15のindexが割り当てられています。クライアント側で参照するデータベースを切り替える方法を調べたので纏めておきます。

使用したRedisのバージョンはv3.2.3です。


-nオプションを指定する方法

redis-cliでredisに接続する際に-nオプションでデータベースのindexを指定することができる。 -nオプションを省略した場合は、0番を参照する。

$ redis-cli -n 1

を指定すると、redis-cliのプロンプトが、

127.0.0.1:6379[1]>    

のように、選択中のデータベースのindexを含めた表示に変わる。

SELECTコマンドを使用する方法

SELECT index

を使う。

redis-cliで接続したのち、selectコマンドによってデータベースを切り替えることができる。

$ redis-cli
127.0.0.1:6379> SELECT 1
OK
127.0.0.1:6379[1]> SELECT 15
OK
127.0.0.1:6379[15]> SELECT 16
(error) ERR invalid DB index
127.0.0.1:6379>

範囲外のindexを指定した場合は、エラーとなり、0番参照状態に戻される模様。

データベースの数を変えるには?

そもそも、現在のデータベース数は、

127.0.0.1:6379> CONFIG GET databases
1) "databases"
2) "16"

で確認できる。

デフォルトでは16データベースとなっているが、これを増やしたり減らしたりするには、redis.confを編集し、

databases データベース数

とする。

例えば、データベース数を20に増やすには、

databases 20

に変更し、redisサーバを再起動する。


以上、Redisのデータベースを切り替える方法を纏めてみました。 SQLに慣れていると、SELECTでデータベース切り替えというのが違和感がありそうです。