ZRANGE

Redis 開発者教育の申込 Redis 定期点検/技術サポート
Redis Technical Support
Redis エンタープライズサーバー
Redis Enterprise Server

member list を照会(小さいものから)

使い方は zrange key start stop です。
start stop は index です。lrange で使う index と同じ概念です。
score が小さいものから照会されます。score が同じなら member で比較します。
全体を照会するときは 0 -1 を使います。

Example

コマンド>zadd myzip 2 "ソウル" 3 "プサン" 5 "テグ" 4 "インチョン" 6 "クァンジュ" 1 "キョンギ"
結果>6
コマンド>zrange myzip 0 -1   score でソート(sort)されて表示されます
結果> 0) キョンギ
1) ソウル
2) プサン
3) インチョン
4) テグ
5) クァンジュ
コマンド>zrange myzip 0 -1 withscores   withscores オプションを使うと score が表示されます
結果> 0) 1 -> キョンギ
1) 2 -> ソウル
2) 3 -> プサン
3) 4 -> インチョン
4) 5 -> テグ
5) 6 -> クァンジュ

アニメーションを見る


一部だけ照会するとき

index(start, stop) で範囲を与えます。

Example

コマンド>zrange myzip 1 3 withscores    2番目から4番目まで照会
結果> 1) 2 -> ソウル
2) 3 -> プサン
3) 4 -> インチョン
コマンド>zrange myzip 3 -1 withscores    4番目から末尾まで照会
結果> 3) 4 -> インチョン
4) 5 -> テグ
5) 6 -> クァンジュ

index に負数を使用可能

負数を使うと最後の member が -1、その次が -2 のように指定されます。
start <= stop のとき照会されます。stop に -1 を使うときは例外です。

Example

コマンド>zrange myzip -3 -1 withscores
結果> -3) 4 -> インチョン
-2) 5 -> テグ
-1) 6 -> クァンジュ

アニメーションを見る


score が同じなら member でソート(sort)されます

Example

コマンド>del myzip
結果>1
コマンド>zadd myzip  10 "チュンチョン"  10 "チョルラ"  10 "ソウル"  10 "キョンギ"  10 "プサン"
結果>5
コマンド>zrange myzip 0 -1 withscores
結果> 0) 10 -> キョンギ
1) 10 -> プサン
2) 10 -> ソウル
3) 10 -> チョルラ
4) 10 -> チュンチョン

逆順で照会するには REV オプションを使用

逆順で照会するには REV オプションを使います。
この機能は version 6.2 から使用できます。
このオプションは ZREVRANGE コマンドと同じ機能です。
このオプションは次に説明する BYSCORE, BYLEX と一緒には使えません。

Example

コマンド>zadd mycity 10 Seoul 20 Busan 30 Daegu 40 Incheon 50 Gwangju 60 Gyeonggi
結果>6
コマンド>zrange mycity 0 -1
結果> 1) "Seoul"
2) "Busan"
3) "Daegu"
4) "Incheon"
5) "Gwangju"
6) "Gyeonggi"
コマンド>zrange mycity 0 -1 rev
結果> 1) "Gyeonggi"
2) "Gwangju"
3) "Incheon"
4) "Daegu"
5) "Busan"
6) "Seoul"

スコア(score)を照会条件にするには BYSCORE

スコア(score)を照会条件にするには BYSCORE オプションを使います。
このオプションは非包含 '(' を使えます。
この機能は version 6.2 から使用できます。
このオプションは ZRANGEBYSCORE コマンドと同じ機能です。

Example

コマンド>zrange mycity 10 50 byscore
結果> 1) "Seoul"
2) "Busan"
3) "Daegu"
4) "Incheon"
5) "Gwangju"
コマンド>zrange mycity (10 (50 byscore
結果> 1) "Busan"
2) "Daegu"
3) "Incheon"

値(メンバー)を照会条件にするには BYLEX

値(メンバー)を照会条件にするには BYLEX オプションを使います。
このオプションは必ず包含 '[' または非包含 '(' を使う必要があります。   すべて照会するには - + を使います。
このオプションは score がすべて同じでなければ望む結果を得られません。
この機能は version 6.2 から使用できます。
このオプションは ZRANGEBYLEX コマンドと同じ機能です。

Example

コマンド> zadd mycity2 0 Seoul 0 Busan 0 Daegu 0 Incheon 0 Gwangju 60 Gyeonggi
結果>6
コマンド>zrange mycity2 [Busan [Incheon bylex
結果> 1) "Busan"
2) "Daegu"
3) "Gwangju"
4) "Gyeonggi"
5) "Incheon"
コマンド>zrange mycity2 (Busan (Incheon bylex
結果> 1) "Daegu"
2) "Gwangju"
3) "Gyeonggi"

個数を制限するには LIMIT オプションを使用

個数を制限するには LIMIT offset count オプションを使います。
このオプションは BYSCORE, BYLEX を使った場合のみ使用できます。
この機能は version 6.2 から使用できます。

Example

コマンド>zrange mycity 10 50 byscore limit 0 3
結果> 1) "Seoul"
2) "Busan"
3) "Daegu"
コマンド>zrange mycity2 [Busan [Incheon bylex limit 1 3
結果> 1) "Daegu"
2) "Gwangju"
3) "Gyeonggi"


構文

ZRANGE key start stop [REV] [[BYSCORE|BYLEX] [LIMIT offset count]] [withscores]

  • このコマンドは version 1.2.0 から使用できます。
  • REV, BYSCORE|BYLEX, LIMIT offset count オプションは version 6.2 から使用できます。
  • 時間計算量は O(log(N)+M) です。 N は集合の member 個数で、 M は返す member の個数です。
SQL Select Redis Enterprise 7.3.0 以上なら SELECT を使ってみてください。
関連コマンド ZREVRANGE, LRANGE,
Clients for Java Jedis, Lettuce, Redisson
Clients for C Hiredis

<< ZINCRBY ZRANGE ZLS >>

Email 返事がかかってなれば、メールでお知らせします。