Redis
 Computer >> コンピューター >  >> プログラミング >> Redis

Redis ZCOUNT –スコア範囲でソートされたセットの要素数を取得する方法

このチュートリアルでは、RedisのZCOUNTコマンドを使用して、ソート済みセット(Sorted Set)に格納された要素のうち、特定のスコア範囲に該当する要素数を取得する方法を解説します。

ZCOUNTコマンドとは

ZCOUNTコマンドは、引数として渡されたmin以上かつmax以下のスコアを持つ、ソート済みセットの要素数を返すコマンドです。

デフォルトではminmaxは閉区間(境界値を含む)として扱われますが、値の先頭に「(」を付けることで、開区間(境界値を含まない)として指定することも可能です。例えば以下のようになります。

ZCOUNT zset (1 5

上記のコマンドは「1 < スコア <= 5」を満たす要素数を返します。一方、次のコマンドの場合:

ZCOUNT zset (5 (10

こちらは「5 < スコア < 10」(5と10は含まない)を満たす要素数が返されます。

さらに、minmaxには-inf(負の無限大)や+inf(正の無限大)を指定できます。これにより、ソート済みセット内の最高スコアや最低スコアを事前に把握していなくても、特定のスコアまで(またはそれ以降)のすべての要素を簡単に取得できるのが便利です。

なお、キーが存在していても、そのキーに保存されている値がソート済みセット型ではない場合にはエラーが返されます。

構文

redis host:post> ZCOUNT <keyname> <min> <max>

戻り値

- 指定したスコア範囲内の要素数を表す(integer)型の応答
- キーが存在するが、保存されている値がソート済みセット型でない場合はエラー

実行例

Redis ZCOUNT –スコア範囲でソートされたセットの要素数を取得する方法

参考資料

  1. ZCOUNTコマンド公式ドキュメント

以上が、RedisのZCOUNTコマンドを使ってスコア範囲からソート済みセットの要素数を取得する方法でした。この記事が役に立ったら、ぜひコメント欄で感想を共有したり、他の方にもシェアしてみてください。

  1. Redis ZREVRANGEBYSCOREコマンド徹底解説!スコア範囲を指定してソート済みセットの要素を降順で取得する方法

    このチュートリアルでは、RedisのZREVRANGEBYSCOREコマンドを使用して、指定したスコア範囲内に含まれるソート済みセット(Sorted Set)の全要素を、スコアの降順で取得する方法を詳しく解説します。 ZREVRANGEBYSCOREコマンドとは ZREVRANGEBYSCOREコマンドは、引数として渡されたmax(最大値)以下かつmin(最小値)以上のスコアを持つ、ソート済みセット内のすべての要素を返します。要素はスコアの降順で返され、同一のスコアを持つ要素同士は辞書順の逆順(降順)で並べられます。 デフォルトではmaxとminは閉区間(境界値を含む)として扱われますが、値の

  2. Redis ZRANGEBYSCOREコマンドの使い方 – スコア範囲を指定してソート済みセットの要素を昇順に取得する方法

    このチュートリアルでは、RedisのZRANGEBYSCOREコマンドを使用して、指定したスコア範囲内にあるソート済みセット(sorted set)のすべての要素を、スコアの昇順で取得する方法について解説します。 ZRANGEBYSCOREコマンドとは ZRANGEBYSCOREコマンドは、引数として渡されたmin(最小値)以上かつmax(最大値)以下のスコアを持つ、ソート済みセット内のすべての要素を返します。返される要素はスコアの昇順に並べられ、同じスコアを持つ要素同士は辞書順(レキシコグラフィカル順)で昇順に配置されます。 デフォルトではminとmaxは閉区間(境界値を含む)として扱われま