Redis Zrangebyscore コマンド

Redis ソートセット(sorted set)

Redis Zrangebyscore は、指定されたスコア範囲内のソートセットのメンバーリストを返します。ソートセットのメンバーはスコア値の昇順(小さいものから大きいものへ)で並びます。

同じスコア値を持つメンバーは辞書順に並びます(この属性はソートセットによって提供され、追加の計算は不要です)。

デフォルトでは、区間の値には閉区間(以上または以下)を使用します。パラメータの前に ( 記号を追加することで、オプションの開区間(未満またはより大きい)を使用することもできます。

例を挙げると:

ZRANGEBYSCORE zset (1 5

条件 1 < score <= 5 を満たすすべてのメンバーを返し、

ZRANGEBYSCORE zset (5 (10

一方、条件 5 < score < 10 を満たすすべてのメンバーを返します。

構文

Redis Zrangebyscore コマンドの基本構文は次のとおりです:

redis 127.0.0.1:6379> ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT offset count]

利用可能なバージョン

>= 1.0.5

戻り値

指定された区間内の、スコア値付き(オプション)のソートセットメンバーのリスト。

例

redis 127.0.0.1:6379> ZADD salary 2500 jack                        # 测试数据
(integer) 0
redis 127.0.0.1:6379> ZADD salary 5000 tom
(integer) 0
redis 127.0.0.1:6379> ZADD salary 12000 peter
(integer) 0

redis 127.0.0.1:6379> ZRANGEBYSCORE salary -inf +inf               # 显示整个有序集
1) "jack"
2) "tom"
3) "peter"

redis 127.0.0.1:6379> ZRANGEBYSCORE salary -inf +inf WITHSCORES    # 显示整个有序集及成员的 score 值
1) "jack"
2) "2500"
3) "tom"
4) "5000"
5) "peter"
6) "12000"

redis 127.0.0.1:6379> ZRANGEBYSCORE salary -inf 5000 WITHSCORES    # 显示工资 <=5000 的所有成员
1) "jack"
2) "2500"
3) "tom"
4) "5000"

redis 127.0.0.1:6379> ZRANGEBYSCORE salary (5000 400000            # 显示工资大于 5000 小于等于 400000 的成员
1) "peter"

Redis ソートセット(sorted set)

その他の拡張