Redis Zrevrangebyscore 命令

根据分数排序获取成员列表 ZREVRANGEBYSCORE

1 简介

ZREVRANGEBYSCORE 返回有序集合中指定分数区间内的成员,分数由高到低排序。

2 语法

2.1 完整示例

ZREVRANGEBYSCORE key max min WITHSCORES LIMIT offset count
  • 1

2.2 说明

指令是否必须说明
ZREVRANGEBYSCORE指令
key有序集合键名称
max最大分数值,可使用”+inf”代替
min最小分数值,可使用”-inf”代替
WITHSCORES将成员分数一并返回
LIMIT返回结果是否分页,指令中包含LIMIT后offset、count必须输入
offset返回结果起始位置
count返回结果数量

提示:

  • "max" 和 "min"参数前可以加 "(" 符号作为开头表示小于, "(" 符号与成员之间不能有空格
  • 可以使用 "+inf" 和 "-inf" 表示得分最大值和最小值
  • "max" 和 "min" 不能反, "max" 放后面 "min"放前面会导致返回结果为空
  • 计算成员之间的成员数量不加 "(" 符号时,参数 "min" 和 "max" 的位置也计算在内。
  • ZREVRANGEBYSCORE集合中按得分从高到底排序,所以"max"在前面,"min"在后面, ZRANGEBYSCORE集合中按得分从底到高排序,所以"min"在前面,"max"在后面。

3 返回值

指定分数范围的元素列表。

4 示例

4.1 按分数倒序返回成员

"+inf" 或者 "-inf" 来表示记录中最大值和最小值。 
"(" 左括号来表示小于某个值。目前只支持小于操作的 "(" 左括号, 右括号(大于)目前还不能支持。

redis> ZADD myzset 1 "one"
(integer) 1
redis> ZADD myzset 2 "two"
(integer) 1
redis> ZADD myzset 3 "three"
(integer) 1
redis> ZREVRANGEBYSCORE myzset +inf -inf
1) "three"
2) "two"
3) "one"
redis> ZREVRANGEBYSCORE myzset 2 1
1) "two"
2) "one"
redis> ZREVRANGEBYSCORE myzset 2 (1
1) "two"
redis> ZREVRANGEBYSCORE myzset (2 (1
(empty list or set)
redis> 

ReadApi::redis()->zrevrangebyscore(sprintf(RedisKey::Index, $name), '+inf', '-inf');

ZREVRANGEBYSCORE sport_home::index  +inf -inf



ZADD key score member:向有序set中添加元素member,其中score为分数,默认升序;
ZRANGE key start end [WITHSCORES]:获取按score从低到高索引范围内的元素,索引可以是负数,-1表示最后一个,-2表示倒数第二个,即从后往前。withscores可选,表示获取包括分数。
ZREVRANGE key start end [WITHSCORES]:同上,但score从高到低排序。

ZCOUNT key min max:获取score在min和max范围内的元素的个数
ZCARD key:获取集合中元素的个数。
ZINCRBY key increment member:根据元素,score原子增加increment.
ZREMRANGEBYSCORE key min max:清空集合内的score位于min和max之间的元素。
ZRANK key member:获取元素的索引(照score从低到高排列)。
ZREM key member:移除集合中的该元素
ZSCORE key member:获取该元素的score


ZADD sport_home::index 1469606286 29

ZSCORE sport_home::index 29

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值