MOVE コマンドでデータベース間でキーを移動する
このステップでは、MOVE コマンドを使用して、ある Redis データベースから別のデータベースへキーを移動する方法を学びます。Redis は、単一のインスタンス内で複数の論理データベースをサポートしています。デフォルトでは、0 から 15 までの番号が付けられた 16 個のデータベースがあります。MOVE コマンドを使用すると、現在選択されているデータベースから別のデータベースへキーを転送できます。
まず、Redis コマンドラインインターフェース (redis-cli) を使用して Redis サーバーに接続していることを確認してください。~/project ディレクトリでターミナルを開き、次のコマンドを入力します。
redis-cli
Redis プロンプト 127.0.0.1:6379> が表示されるはずです。デフォルトでは、データベース 0 に接続されています。
前のステップで、データベース 0 に mykey という名前のキーと myvalue という値が既に存在します。これを確認しましょう。
GET mykey
"myvalue" という出力が表示されるはずです。
それでは、MOVE コマンドを使用して、キー mykey をデータベース 0 からデータベース 1 に移動してみましょう。
MOVE mykey 1
(integer) 1 という出力が表示されるはずです。これは、キーが正常に移動されたことを意味します。
キーが移動されたことを確認するために、データベース 0 でキー mykey の値を取得してみましょう。
GET mykey
(nil) という出力が表示されるはずです。これは、キーがデータベース 0 に存在しなくなったことを意味します。
次に、SELECT コマンドを使用してデータベース 1 に切り替えます。
SELECT 1
OK という出力が表示されるはずです。
それでは、データベース 1 でキー mykey の値を取得してみましょう。
GET mykey
"myvalue" という出力が表示されるはずです。これは、キーがデータベース 1 に正常に移動されたことを確認します。
最後に、次のステップのために、キー mykey をデータベース 0 に戻しましょう。まず、データベース 0 に戻ります。
SELECT 0
OK という出力が表示されるはずです。
それでは、キー mykey をデータベース 1 からデータベース 0 に移動してみましょう。
MOVE mykey 0
(error) ERR source and destination objects are the same という出力が表示されるはずです。
このエラーは、同じセッションで SELECT 0 を実行してから MOVE mykey 0 を実行したために発生します。MOVE コマンドは、キーを現在存在するデータベースと同じデータベースに移動することは許可されていません。
キーを別のデータベースに移動するには、最初に移動先のデータベースを選択してから MOVE コマンドを使用する必要があります。
たとえば、最初にデータベース 1 を選択します。
SELECT 1
OK という出力が表示されるはずです。
それでは、キー mykey をデータベース 1 からデータベース 0 に移動してみましょう。
MOVE mykey 0
(integer) 1 という出力が表示されるはずです。これは、キーが正常に移動されたことを意味します。
次に、データベース 0 に戻ります。
SELECT 0
キーがデータベース 0 に戻っていることを確認します。
GET mykey
"myvalue" という出力が表示されるはずです。
exit と入力するか、Ctrl+D を押して redis-cli を終了することを忘れないでください。これにより、コマンドが適切にログに記録されます。
exit
これで、MOVE コマンドを使用して Redis データベース間でキーを正常に移動できました。