Redis Sorted Set 操作

RedisRedisBeginner
今すぐ練習

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに (Introduction)

この実験 (lab) では、基本的な Redis Sorted Set の操作について学びます。まず、Redis サーバーに接続し、ZADD コマンドを使用して、関連するスコアを持つ要素を Sorted Set に追加します。これには、新しい要素の追加、既存の要素のスコアの更新、およびコマンドの出力を理解することが含まれます。

次に、ZRANGE コマンドを使用してインデックスで Sorted Set から要素の範囲を取得する方法、ZRANK を使用して要素のランクを取得する方法、ZINCRBY を使用して要素のスコアをインクリメントする方法、最後に ZREM を使用して Sorted Set から要素を削除する方法を学びます。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL redis(("Redis")) -.-> redis/RedisGroup(["Redis"]) redis/RedisGroup -.-> redis/access_cli("Connect Using CLI") redis/RedisGroup -.-> redis/remove_key("Delete Single Key") redis/RedisGroup -.-> redis/increment_int("Increase Integer Value") redis/RedisGroup -.-> redis/fetch_range("Get List Range") subgraph Lab Skills redis/access_cli -.-> lab-552105{{"Redis Sorted Set 操作"}} redis/remove_key -.-> lab-552105{{"Redis Sorted Set 操作"}} redis/increment_int -.-> lab-552105{{"Redis Sorted Set 操作"}} redis/fetch_range -.-> lab-552105{{"Redis Sorted Set 操作"}} end

ZADD を使用してスコア付きの要素を追加する (Add Elements with Scores using ZADD)

このステップでは、ZADD コマンドを使用して、Redis Sorted Set にスコア付きの要素を追加する方法を学びます。Sorted Set は、スコアに関連付けられた要素を格納するデータ構造です。要素はスコアによって順序付けられるため、ソートされた方法で要素を取得できます。

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

redis-cli

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

次に、my_zset という名前の Sorted Set に、スコア付きの要素をいくつか追加してみましょう。ZADD コマンドの構文は次のとおりです。

ZADD key score member [score member ...]

ここで:

  • key は Sorted Set の名前です。
  • score は要素に関連付けられたスコアです。
  • member は追加する要素です。

my_zset に 3 つの要素を追加しましょう。"apple" のスコアは 1"banana" のスコアは 2"cherry" のスコアは 3 です。

ZADD my_zset 1 apple 2 banana 3 cherry

次の出力が表示されるはずです。

(integer) 3

これは、3 つの要素が Sorted Set に追加されたことを示します。

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

exit

ZADD を使用して要素を追加し、スコアを更新する (Add More Elements and Update Score with ZADD)

このステップでは、my_zset Sorted Set に要素を追加し続け、既存の要素のスコアを更新します。

まず、Redis サーバーに再度接続します。

redis-cli

次に、別の要素 "date" をスコア 2.5 で追加してみましょう。

ZADD my_zset 2.5 date

次の出力が表示されるはずです。

(integer) 1

これは、1 つの要素が Sorted Set に追加されたことを示します。

ZADD を使用して、既存の要素のスコアを更新することもできます。"apple" のスコアを 1.5 に更新してみましょう。

ZADD my_zset 1.5 apple

次の出力が表示されるはずです。

(integer) 0

これは、新しい要素が追加されなかったこと ("apple" がすでに存在するため) を示していますが、"apple" のスコアが更新されました。

Redis CLI を終了することを忘れないでください。

exit

ZRANGE を使用してインデックスで範囲を取得する (Fetch Range by Index with ZRANGE)

my_zset Sorted Set に要素を追加したので、ZRANGE コマンドを使用して、特定の範囲内の要素を取得する方法を学びましょう。

Redis サーバーに接続します。

redis-cli

ZRANGE コマンドは、Sorted Set から指定されたインデックス範囲内の要素を取得します。構文は次のとおりです。

ZRANGE key start stop [WITHSCORES]

ここで:

  • key は Sorted Set の名前です。
  • start は開始インデックス (包括的) です。
  • stop は終了インデックス (包括的) です。
  • WITHSCORES (オプション) は、出力に要素のスコアを含めます。

my_zset から最初の 3 つの要素 (インデックス 0 ~ 2) を取得するには、次のコマンドを使用します。

ZRANGE my_zset 0 2

スコアでソートされた要素を表す次の出力が表示されるはずです。

1) "apple"
2) "banana"
3) "date"

要素をスコアとともに取得するには、WITHSCORES オプションを使用します。

ZRANGE my_zset 0 2 WITHSCORES

次の出力が表示されるはずです。

1) "apple"
2) "1.5"
3) "banana"
4) "2"
5) "date"
6) "2.5"

Redis CLI を終了します。

exit

ZRANK を使用して要素のランクを取得する (Get Element Rank with ZRANK)

このステップでは、ZRANK コマンドを使用して、Sorted Set 内の要素のランクを決定する方法を学びます。ランクは、ソートされた順序での要素の位置を表します (最低スコアの場合は 0 から始まります)。

Redis サーバーに接続します。

redis-cli

ZRANK コマンドは、次の構文を取ります。

ZRANK key member

ここで:

  • key は Sorted Set の名前です。
  • member は、ランクを検索する要素です。

my_zset 内の "banana" のランクを検索するには、次のコマンドを使用します。

ZRANK my_zset banana

次の出力が表示されるはずです。

(integer) 1

これは、"banana" が Sorted Set 内のランク 1 にあることを示します。

Redis CLI を終了します。

exit

ZINCRBY でスコアを増分し、ZREM で要素を削除する (Increment Score with ZINCRBY and Remove Elements with ZREM)

この最後のステップでは、ZINCRBY を使用して要素のスコアを増分し、ZREM を使用して要素を削除する方法を学びます。

Redis サーバーに接続します。

redis-cli

ZINCRBY コマンドは、ソートされたセット内のメンバーのスコアを増分します。構文は次のとおりです。

ZINCRBY key increment member

ここで:

  • key は Sorted Set の名前です。
  • increment は、スコアを増分する値です。
  • member は、スコアを増分する要素です。

"banana" のスコアを 0.5 ずつ増分してみましょう。

ZINCRBY my_zset 0.5 banana

次の出力が表示されるはずです。

"2.5"

これは、"banana" の新しいスコアが 2.5 であることを示しています。

ZREM コマンドは、ソートされたセットからメンバーを削除します。構文は次のとおりです。

ZREM key member [member ...]

ここで:

  • key は Sorted Set の名前です。
  • member は、削除する要素です。

my_zset から "banana" を削除してみましょう。

ZREM my_zset banana

次の出力が表示されるはずです。

(integer) 1

これは、1 つの要素が削除されたことを示しています。

Redis CLI を終了します。

exit

まとめ (Summary)

この実験 (lab) では、基本的な Redis Sorted Set 操作の使用方法を学びました。ZADD を使用してスコア付きの要素を追加し、ZRANGE を使用して要素の範囲を取得し、ZRANK を使用して要素のランクを取得し、ZINCRBY を使用してスコアを増分し、ZREM を使用して要素を削除しました。これで、Redis でソートされたセットを効果的に管理するための確固たる基盤ができました。