ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT offset count]
相关命令
- ZADD
- ZCARD
- ZCOUNT
- ZINCRBY
- ZINTERSTORE
- ZLEXCOUNT
- ZRANGE
- ZRANGEBYLEX
- ZRANGEBYSCORE
- ZRANK
- ZREM
- ZREMRANGEBYLEX
- ZREMRANGEBYRANK
- ZREMRANGEBYSCORE
- ZREVRANGE
- ZREVRANGEBYSCORE
- ZREVRANK
- ZSCAN
- ZSCORE
- ZUNIONSTORE
Available since 1.0.5.
时间复杂度: O(log(N)+M) with N being the number of elements in the sorted set and M the number of elements being returned. If M is constant (e.g. always asking for the first 10 elements with LIMIT), you can consider it O(log(N)).
Returns all the elements in the sorted set at key
with a score between min
and max
(including elements with score equal to min
or max
). The elements are considered to be ordered from low to high scores.
The elements having the same score are returned in lexicographical order (this follows from a property of the sorted set implementation in Redis and does not involve further computation).
The optional LIMIT
argument can be used to only get a range of the matching elements (similar to SELECT LIMIT offset, count in SQL). Keep in mind that if offset
is large, the sorted set needs to be traversed for offset
elements before getting to the elements to return, which can add up to O(N) time complexity.
The optional WITHSCORES
argument makes the command return both the element and its score, instead of the element alone. This option is available since Redis 2.0.
Exclusive intervals and infinity
min
and max
can be -inf
and +inf
, so that you are not required to know the highest or lowest score in the sorted set to get all elements from or up to a certain score.
By default, the interval specified by min
and max
is closed (inclusive). It is possible to specify an open interval (exclusive) by prefixing the score with the character (
. For example:
ZRANGEBYSCORE zset (1 5
Will return all elements with 1 < score <= 5
while:
ZRANGEBYSCORE zset (5 (10
Will return all the elements with 5 < score < 10
(5 and 10 excluded).
返回值
Array reply: list of elements in the specified score range (optionally with their scores).
例子
redis> ZADD myzset 1 "one"
- (integer) 1
redis> ZADD myzset 2 "two"
- (integer) 1
redis> ZADD myzset 3 "three"
- (integer) 1
redis> ZRANGEBYSCORE myzset -inf +inf
- 1) "one"
- 2) "two"
- 3) "three"
redis> ZRANGEBYSCORE myzset 1 2
- 1) "one"
- 2) "two"
redis> ZRANGEBYSCORE myzset (1 2
- 1) "two"
redis> ZRANGEBYSCORE myzset (1 (2
- (empty list or set)
This website is open source software developed by Citrusbyte.
The Redis logo was designed by Carlos Prioglio. See more credits.