Redis Zrangebylex コマンド

Redis ソート済みセット(sorted set)

Redis Zrangebylex コマンドは、ソート済みセット(sorted set)内のメンバーを辞書順(lexicographical order)で指定した範囲内から取得するために使用されます。このコマンドは、メンバーが文字列であるソート済みセットを主に対象としています。

構文

redis Zrange コマンドの基本的な構文は次のとおりです:

ZRANGEBYLEX key min max [LIMIT offset count]
  • key:キー名。操作対象のソート済みセットを指定します。
  • minとmax:辞書順範囲の境界値です。これらの2つの値は負の無限大(-)または正の無限大(+)、または具体的な文字列値です。文字列値はソート済みセット内のメンバーの辞書順の境界を表します。
  • LIMIT offset count:オプションのパラメータで、返される結果の数を制限するために使用します。offset先頭からいくつの要素をスキップするかを表し、countいくつの要素を返すかを表します。

コマンドの動作:

  • もしminである+ 或 minの後の最初の要素、maxである- 或 maxの前の最後の要素の場合、キーkeyに保存されているソート済みセット内のすべての要素を返します。
  • もしminとmaxが両方とも具体的な文字列の場合、ソート済みセット内の辞書順がminとmaxの間にあるすべての要素を返します。
  • もしminである+ 或 minの後の最初の要素であり、maxが具体的な文字列の場合、ソート済みセット内の辞書順が次の値以上(greater than or equal)maxのすべての要素を返します。
  • もしminが具体的な文字列であり、maxである- 或 maxの前の最後の要素の場合、ソート済みセット内の辞書順が次の値以下(less than or equal)minのすべての要素を返します。

利用可能なバージョン

>= 2.8.9

戻り値

指定された範囲内の要素のリスト。

実例

redis 127.0.0.1:6379> ZADD myzset 0 a 0 b 0 c 0 d 0 e 0 f 0 g
(integer) 7
redis 127.0.0.1:6379> ZRANGEBYLEX myzset - [c
1) "a"
2) "b"
3) "c"
redis 127.0.0.1:6379> ZRANGEBYLEX myzset - (c
1) "a"
2) "b"
redis 127.0.0.1:6379> ZRANGEBYLEX myzset [aaa (g
1) "b"
2) "c"
3) "d"
4) "e"
5) "f"
redis> 

ソート済みセット myzset に次の要素が含まれているとします:

ZADD myzset 0 a 0 b 0 c 0 d 0 e 0 f 0 g

辞書順が a と f の間にあるすべての要素を取得:

ZRANGEBYLEX myzset a f

辞書順が b より大きく f より小さいすべての要素を取得:

ZRANGEBYLEX myzset [b (f

辞書順が a と f の間にある要素を取得しますが、最初の3つのみ返します:

ZRANGEBYLEX myzset a f LIMIT 0 3

なお、ZRANGEBYLEX コマンドはスコア(score)ではなく辞書順で範囲クエリを実行します。そのため、アルファベット順にデータを検索する必要があるシーンに非常に適しています。

Redis ソート済みセット(sorted set)

その他の拡張