English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Redis Zrangebyscore コマンド

Redis 有序集合(sorted set)

Redis Zrangebyscoreは、指定されたスコア範囲のメンバーリストを有序集合から返します。有序集合のメンバーはスコア値の増加(小さい順)に並べ替えられます。

同じスコア値を持つメンバーは辞書順に並べ替えられます(この属性は有序集合で提供され、追加の計算は必要ありません)。

デフォルトでは、範囲の値は閉区間(小さいか大きいか)を使用します。また、(符号をパラメータの前に追加することで、オプションの開区間(小さいか大きいか)を使用できます。

例を示します:

ZRANGEBYSCORE zset (1 5

条件に一致するすべてを返します 1 < スコア <= 5 のメンバー、そして

ZRANGEBYSCORE zset (5 (10

それに該当するすべてが返されます 5 < スコア < 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)