Redisの基本的なキー・バリュー操作

RedisBeginner
オンラインで実践に進む

はじめに

この実験では、Redisにおける基本的なキー・バリュー操作を学びます。コマンドラインインターフェースである redis-cli を使用してRedisサーバーと対話し、キーの設定、取得、存在確認、削除、および有効期限の設定といった基本操作を実行します。この実験を終える頃には、Redisをシンプルなデータストアとして活用するための確かな基礎知識が身についているはずです。

キー・バリューペアの設定と取得

このステップでは、Redisにおけるキー・バリューペアの設定と取得というコア操作に焦点を当てます。これはRedisをデータストアとして利用するための基礎となります。

Redisは、辞書のようにデータをキー・バリューペアとして保存します。キーは一意の識別子であり、バリューはそのキーに関連付けられたデータです。

  1. Redisへの接続:

    LabEx VMでターミナルを開きます。すでに ~/project ディレクトリにいるはずです。redis-cli コマンドを使用してRedisサーバーに接続します。

    redis-cli
    

    Redisのプロンプト 127.0.0.1:6379> が表示されれば、Redisサーバーへの接続は成功です。

  2. キー・バリューペアの設定:

    SET コマンドを使用してキー・バリューペアを設定してみましょう。キー mykey に値 myvalue を設定します。

    SET mykey myvalue
    

    Redisは以下のように応答します。

    OK
    

    これで、キー・バリューペアが正常に保存されたことが確認できました。

  3. キーの値の取得:

    キーに関連付けられた値を取得するには、GET コマンドを使用します。mykey の値を取得してみましょう。

    GET mykey
    

    Redisは以下のように応答します。

    "myvalue"
    

    これで、キー mykey に関連付けられた値を正常に取得できました。

  4. 別のキー・バリューペアの設定:

    別のキーと値で、もう一つキー・バリューペアを設定してみましょう。今回はキーに user:1001、値に John を使用します。

    SET user:1001 John
    

    Redisは以下のように応答します。

    OK
    
  5. 新しいキーの値の取得:

    それでは、user:1001 キーの値を取得してみましょう。

    GET user:1001
    

    Redisは以下のように応答します。

    "John"
    

    これで、Redisでのキー・バリューペアの設定と取得が完了しました。

  6. Redis CLIの終了:

    各ステップの終了時には、コマンドが正しく記録されるようにRedis CLIを終了させるのが重要です。以下を入力してください。

    exit
    

    Redis CLIセッションのスクリーンショット

キーの存在確認

このステップでは、EXISTS コマンドを使用してRedis内のキーの存在を確認する方法を学びます。これは、値を取得したり他の操作を行ったりする前に、キーが設定されているかどうかを判断するのに役立ちます。

  1. Redisへの接続:

    redis-cli コマンドを使用してRedisサーバーに接続します。

    redis-cli
    

    Redisのプロンプト 127.0.0.1:6379> が表示されます。

  2. 既存のキーの存在確認:

    前のステップで mykey を設定しました。EXISTS コマンドを使用して、それが存在するか確認してみましょう。

    EXISTS mykey
    

    Redisは以下のように応答します。

    (integer) 1
    

    応答が 1 であれば、キー mykey がRedisに存在することを意味します。

  3. 存在しないキーの確認:

    次に、設定していないキーが存在するか確認してみましょう。例えば、nonexistentkey という名前のキーを確認します。

    EXISTS nonexistentkey
    

    Redisは以下のように応答します。

    (integer) 0
    

    応答が 0 であれば、キー nonexistentkey はRedisに存在しないことを意味します。

  4. Redis CLIの終了:

    コマンドが記録されるよう、Redis CLIを終了します。

    exit
    

キーの削除

このステップでは、DEL コマンドを使用してRedisからキーを削除する方法を学びます。これはデータの管理や、不要になったエントリを削除するために不可欠です。

  1. Redisへの接続:

    redis-cli コマンドを使用してRedisサーバーに接続します。

    redis-cli
    

    Redisのプロンプト 127.0.0.1:6379> が表示されます。

  2. 既存のキーの削除:

    前のステップで設定した mykeyDEL コマンドで削除してみましょう。

    DEL mykey
    

    Redisは以下のように応答します。

    (integer) 1
    

    応答が (integer) 1 であれば、1つのキーが正常に削除されたことを意味します。

  3. 存在しないキーの削除:

    存在しないキー(例:nonexistentkey)を削除しようとするとどうなるか試してみましょう。

    DEL nonexistentkey
    

    Redisは以下のように応答します。

    (integer) 0
    

    応答が (integer) 0 であれば、削除されたキーはなかった(キーが存在しなかったため)ことを意味します。

  4. 複数のキーの削除:

    DEL コマンドは、一度に複数のキーを削除することもできます。先ほど作成した user:1001 キーを削除し、同時に nonexistentkey も削除しようとしてみましょう。

    DEL user:1001 nonexistentkey
    

    Redisは以下のように応答します。

    (integer) 1
    

    応答が (integer) 1 であれば、1つのキー(user:1001)が正常に削除され、nonexistentkey の削除試行は存在しなかったために無視されたことを意味します。

  5. Redis CLIの終了:

    Redis CLIを終了します。

    exit
    

キーの有効期限の設定

このステップでは、EXPIRE コマンドと SET コマンドの EX パラメータを使用して、Redisのキーに有効期限を設定する方法を学びます。これは、セッションデータや一時的なキャッシュなど、一定期間後にデータを自動的に削除したい場合に便利です。

  1. Redisへの接続:

    redis-cli コマンドを使用してRedisサーバーに接続します。

    redis-cli
    

    Redisのプロンプト 127.0.0.1:6379> が表示されます。

  2. 有効期限付きキー・バリューペアの設定(方法1: SETコマンドのEXパラメータ):

    Redisでは、EX パラメータを使用することで、1つのコマンドでキー・バリューペアと有効期限を同時に設定できます。キー sessionkey に値 sessionvalue を設定し、有効期限を15秒にしてみましょう。

    SET sessionkey sessionvalue EX 15
    

    Redisは以下のように応答します。

    OK
    

    このコマンドはキー・バリューペアの設定と有効期限の設定を一度に行うため、別々のコマンドを使うよりも効率的です。

  3. EXで設定したキーのTTL確認:

    sessionkey の残り有効時間(TTL: Time To Live)を確認してみましょう。

    TTL sessionkey
    

    Redisはキーが期限切れになるまでの残り秒数(例:(integer) 14)を返します。設定してから経過した時間があるため、値は15より少し小さくなります。

  4. キー・バリューペアの設定(方法2: EXPIREコマンドを個別に使用):

    あるいは、まずキー・バリューペアを設定し、後から個別に有効期限を設定することもできます。キー tempkey に値 tempvalue を設定してみましょう。

    SET tempkey tempvalue
    

    Redisは以下のように応答します。

    OK
    
  5. EXPIREコマンドを使用した有効期限の設定:

    次に、EXPIRE コマンドを使用して tempkey に10秒の有効期限を設定します。

    EXPIRE tempkey 10
    

    Redisは以下のように応答します。

    (integer) 1
    

    応答が (integer) 1 であれば、有効期限が正常に設定されたことを意味します。

  6. 残り有効時間(TTL)の確認:

    tempkey の残り有効時間を確認するには、TTL コマンドを使用します。

    TTL tempkey
    

    Redisは残り秒数(例:(integer) 9)を返します。設定からの経過時間により、値は10より少し小さくなる場合があります。キーが存在しない場合や有効期限がない場合、TTL はそれぞれ -2 または -1 を返します。

  7. Redis CLIの終了:

    Redis CLIを終了します。

    exit
    

まとめ

この実験では、redis-cli コマンドラインインターフェースを使用して、Redisの基本的なキー・バリュー操作を学びました。Redisサーバーへの接続方法、SET コマンドによるデータの保存、GET コマンドによる値の取得を習得しました。さらに、EXISTS コマンドによるキーの存在確認、DEL コマンドによる削除、そして SET コマンドの EX パラメータや EXPIRE コマンドによる有効期限の設定方法も練習しました。特に SET コマンドの EX パラメータは、キー・バリューペアの設定と有効期限の設定を一度に効率よく行えるため非常に便利です。これらは、Redisをシンプルかつ効率的なデータストアとして活用するための基本構成要素となります。