Redis の基本的なキーと値の操作

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

はじめに

この実験 (lab) では、Redis における基本的なキーバリュー操作を学びます。redis-cli コマンドラインインターフェースを使用して Redis サーバーと対話し、キーの設定 (setting)、取得 (getting)、存在確認 (checking existence)、削除 (deleting)、および有効期限の設定 (setting expiration times) などの基本的な操作を実行します。この実験 (lab) を終える頃には、Redis をシンプルなデータストアとして使用する方法をしっかりと理解できるようになります。

キーと値のペアの設定と取得

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

Redis は、辞書 (dictionary) と同様に、データをキーバリューペアとして保存します。キー (key) は一意の識別子であり、値 (value) はそのキーに関連付けられたデータです。

  1. Redis への接続 (Connect to Redis):

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

    redis-cli
    

    Redis プロンプト 127.0.0.1:6379> が表示されるはずです。これは、Redis サーバーへの接続が成功したことを示します。

  2. キーバリューペアの設定 (Set a Key-Value Pair):

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

    SET mykey myvalue
    

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

    OK
    

    これは、キーバリューペアが正常に保存されたことを確認するものです。

  3. キーの値の取得 (Get the Value of a Key):

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

    GET mykey
    

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

    "myvalue"
    

    これは、キー mykey に関連付けられた値を正常に取得したことを示しています。

  4. 別のキーバリューペアの設定 (Set Another Key-Value Pair):

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

    SET user:1001 John
    

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

    OK
    
  5. 新しいキーの値の取得 (Get the Value of the New Key):

    次に、user:1001 キーの値を取得してみましょう。

    GET user:1001
    

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

    "John"
    

    これで、Redis でキーバリューペアを正常に設定および取得できました。

  6. Redis CLI の終了 (Exit Redis CLI):

    各ステップの後で Redis CLI を終了して、コマンドが正しくログに記録されるようにすることが重要です。次のように入力します。

    exit
    

    Redis CLI session example

キーの存在確認

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

  1. Redis への接続 (Connect to Redis):

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

    redis-cli
    

    Redis プロンプト 127.0.0.1:6379> が表示されるはずです。

  2. 既存のキーの存在確認 (Check Existence of an Existing Key):

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

    EXISTS mykey
    

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

    (integer) 1
    

    1 の応答は、キー mykey が Redis に存在することを示します。

  3. 存在しないキーの存在確認 (Check Existence of a Non-Existent Key):

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

    EXISTS nonexistentkey
    

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

    (integer) 0
    

    0 の応答は、キー nonexistentkey が Redis に存在しないことを示します。

  4. Redis CLI の終了 (Exit Redis CLI):

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

    exit
    

キーの削除

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

  1. Redis への接続 (Connect to Redis):

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

    redis-cli
    

    Redis プロンプト 127.0.0.1:6379> が表示されるはずです。

  2. 既存のキーの削除 (Delete an Existing Key):

    前のステップで、キー mykey を設定しました。DEL コマンドを使用して削除してみましょう。

    DEL mykey
    

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

    (integer) 1
    

    (integer) 1 の応答は、1 つのキーが正常に削除されたことを示します。

  3. 存在しないキーの削除 (Delete a Non-Existent Key):

    存在しないキー (たとえば nonexistentkey) を削除してみましょう。

    DEL nonexistentkey
    

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

    (integer) 0
    

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

  4. 複数のキーの削除 (Delete Multiple Keys):

    DEL コマンドは、複数のキーを一度に削除するためにも使用できます。以前に作成した user:1001 キーを削除し、同じコマンドで nonexistentkey を再度削除してみましょう。

    DEL user:1001 nonexistentkey
    

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

    (integer) 1
    

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

  5. Redis CLI の終了 (Exit Redis CLI):

    Redis CLI を終了します。

    exit
    

キーの有効期限の設定

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

  1. Redis に接続する:

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

    redis-cli
    

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

  2. 有効期限付きのキーバリューペアを設定する (方法 1: EX パラメータ付き SET):

    Redis は、EX パラメータを使用して、単一の命令でキーバリューペアと有効期限を設定できます。キー sessionkey を値 sessionvalue に設定し、有効期限を 15 秒に設定してみましょう。

    SET sessionkey sessionvalue EX 15
    

    Redis から次の応答が返されます。

    OK
    

    このコマンドは、別々のコマンドを使用するよりも効率的に、キーバリューペアと有効期限を一度に設定します。

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

    sessionkey の残りの有効期限 (TTL) を確認しましょう。

    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 コマンドを使用します。

    TTL tempkey
    

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

  7. Redis CLI を終了する:

    Redis CLI を終了します。

    exit
    

まとめ

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