首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

zrange

代码语言:javascript
复制
ZRANGE key start stop [WITHSCORES]

自1.2.0起可用。

时间复杂度: O( log(N)+ M),其中 N 是有序集合中元素的数量,M 是返回元素的数量。

返回存储在的有序集合中指定范围的元素key。这些元素被认为是从最低分到最高分排序。字典顺序用于得分相同的元素。

当需要从最高到最低分数排序的元素时(请参阅相同分数元素的降序排列顺序),请参阅 ZREVRANGE。

两个startstop是基于零的索引,其中0是第一要素,1是下一个元素等。它们也可以是负数,表示排序集结尾的偏移量,是排序集-1的最后一个元素,-2倒数第二个元素等等。

startstop包含范围,所以例如ZRANGE myzset 0 1将返回排序集合的第一个元素和第二个元素。

超出范围的索引不会产生错误。如果start大于有序集合中的最大索引,或者start > stop返回空列表。如果stop大于排序集的末尾,则 Redis 会将其视为排序集的最后一个元素。

可以传递WITHSCORES选项以将元素的分数与元素一起返回。返回的列表将包含value1,score1,...,valueN,scoreN而不是value1,...,valueN。客户端库可以自由返回更合适的数据类型(建议:具有(值,分数)数组/元组的数组)。

返回值

数组回复:指定范围内的元素列表(可选择其分数,以防WITHSCORES给出选项)。

例子

redis> ZADD myzset 1 "one" (integer) 1 redis> ZADD myzset 2 "two" (integer) 1 redis> ZADD myzset 3 "three" (integer) 1 redis> ZRANGE myzset 0 -1 1) "one" 2) "two" 3) "three" redis> ZRANGE myzset 2 3 1) "three" redis> ZRANGE myzset -2 -1 1) "two" 2) "three"

以下示例WITHSCORES显示了该命令如何总是返回一个数组,但这次使用 element_1 score_1 element_2 score_2 ,... ,element_N score_N 填充

redis> ZRANGE myzset 0 1 WITHSCORES 1) "one" 2) "1" 3) "two" 4) "2"

扫码关注腾讯云开发者

领取腾讯云代金券

http://www.vxiaotou.com