Redis之sorted set 命令

Redis之sorted set 命令

注:本文是基于Linux系统上Redis v5.0.7进行讲解

1.zrevrank

Zrevrank 命令返回有序集中成员的排名;
其中有序集成员按分数值递减(从大到小)排序;
排名以 0 为底,也就是说, 分数值最大的成员排名为 0 ;
使用 ZRANK 命令可以获得成员按分数值递增(从小到大)排列的排名;
如果成员是有序集 key 的成员,返回成员的排名。 如果成员不是有序集 key 的成员,返回 nil

ZREVRANK key member

在这里插入图片描述

2.zlexcount

命令在计算有序集合中指定字典区间内成员数量;
返回指定区间内的成员数量

ZLEXCOUNT KEY MIN MAX

在这里插入图片描述

3.zunionstore

命令计算给定的一个或多个有序集的并集,其中给定 key 的数量必须以 numkeys 参数指定,并将该并集(结果集)储存到 destination;
默认情况下,如果给定的集合中key相同时,结果集中该成员的分数值是所有给定集下该成员分数值之和 ;
使用WEIGHTS选项,你可以为每个给定的有序集指定一个乘法因子,意思就是,每个给定有序集的所有成员的score值在传递给聚合函数之前都要先乘以该因子;如果WEIGHTS没有给定,默认就是1;
使用AGGREGATE选项,你可以指定并集的结果集的聚合方式;默认使用的参数SUM,可以将所有集合中某个成员的score值之和作为结果集中该成员的score值。如果给定的集合中key相同时,如果使用参数MIN或者MAX,结果集就是所有集合中元素最小或最大的元素;
如果key destination存在,就被覆盖返回保存到 destination 的结果集的成员数量;

ZUNIONSTORE destination numkeys key [key ...] [WEIGHTS weight [weight ...]] [AGGREGATE SUM|MIN|MAX]

在这里插入图片描述

在这里插入图片描述

以下紧接着上面的

4.zremrangebyrank

命令用于移除有序集中,指定排名(rank)区间内的所有成员
返回被移除成员的数量,如果给定的key不存在或者范围不正确返回0

ZREMRANGEBYRANK key start stop

在这里插入图片描述
在这里插入图片描述

5.zcard

命令用于计算集合中元素的数量;
当 key 存在且是有序集类型时,返回集合中元素的数量。 当 key 不存在时,返回 0

ZCARD KEY_NAME

在这里插入图片描述
在这里插入图片描述

6.zinterstore

命令计算给定的一个或多个有序集的交集,其中给定 key 的数量必须以 numkeys 参数指定,并将该交集(结果集)储存到 destination ;
默认情况下,如果给定的集合中key相同时,结果集中某个成员的分数值是所有给定集下该成员分数值之和;
返回保存到目标结果集的的成员数量

ZINTERSTORE destination numkeys key [key ...] [WEIGHTS weight [weight ...]] [AGGREGATE SUM|MIN|MAX]

7.zrank

返回有序集中指定成员的排名,其中有序集成员按分数值递增(从小到大)顺序排列;
如果成员是有序集 key 的成员,返回 member 的排名。 如果成员不是有序集 key 的成员,返回 nil

 ZRANK key member

在这里插入图片描述

8.zincrby

命令对有序集合中指定成员的分数加上增量 increment;
可以通过传递一个负数值 increment ,让分数减去相应的值,比如 ZINCRBY key -5 member ,就是让 member 的 score 值减去 5 ;
当 key 不存在,或分数不是 key 的成员时, ZICRBY key increment member 等同于 ZADD key increment member ;
当 key 不是有序集类型时,返回一个错误;
分数值可以是整数值或双精度浮点数;
返回member 成员的新分数值,以字符串形式表示

ZINCRBY key increment member

N

9.zrangebyscore

返回有序集合中指定分数区间的成员列表,有序集成员按分数值递增(从小到大)次序排列;
具有相同分数值的成员按字典序来排列(该属性是有序集提供的,不需要额外的计算);
默认情况下,区间的取值使用闭区间 (小于等于或大于等于),你也可以通过给参数前增加 ( 符号来使用可选的开区间 (小于或大于);
返回指定区间内,带有分数值(可选)的有序集成员的列表;
举个例子:
ZRANGEBYSCORE zset (1 5
返回所有符合条件 1 < score <= 5 的成员,
而ZRANGEBYSCORE zset (5 (10
则返回所有符合条件 5 < score < 10 的成员

ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT offset count]

ZRANGEBYSCORE salary -inf +inf WITHSCORES # 显示整个有序集及成员的 score 值
ZRANGEBYSCORE salary -inf 5000 WITHSCORES # 显示工资 <=5000 的所有成员
ZRANGEBYSCORE salary (5000 400000 # 显示工资大于 5000 小于等于 400000 的成员

在这里插入图片描述
在这里插入图片描述

10.zcount

用于计算有序集合中指定分数区间的成员数量;
返回分数值在 min 和 max 之间的成员的数量

 ZCOUNT key min max

在这里插入图片描述
在这里插入图片描述

11.zrevrange

命令返回有序集中,指定区间内的成员;
其中成员的位置按分数值递减(从大到小)来排列;
具有相同分数值的成员按字典序的逆序(reverse lexicographical order)排列;
返回指定区间内,带有分数值(可选)的有序集成员的列表

ZREVRANGE key start stop [WITHSCORES]

在这里插入图片描述

12.zrevrangebyscore

返回有序集中指定分数区间内的所有的成员。有序集成员按分数值递减(从大到小)的次序排列;
具有相同分数值的成员按字典序的逆序(reverse lexicographical order )排列;
返回指定区间内,带有分数值(可选)的有序集成员的列表

ZREVRANGEBYSCORE key max min [WITHSCORES] [LIMIT offset count]

在这里插入图片描述

13.zscan

用于迭代有序集合中的元素(包括元素成员和元素分值);
返回的每个元素都是一个有序集合元素,一个有序集合元素由一个成员(member)和一个分值(score)组成;
cursor表示本次扫描的开始游标,可以理解成从开始索引。
pattern表示正则表达式
count表示希望返回的个数,实际返回个数会围绕该数波动,返回的个数可能等于该值也可能有一定出入,默认为10

 ZSCAN key cursor [MATCH pattern] [COUNT count]

14.zremrangebyscore

命令用于移除有序集中,指定分数(score)区间内的所有成员;
返回被移除成员的数量

ZREMRANGEBYSCORE key min max

ZREMRANGEBYSCORE salary 1500 3500 # 移除所有薪水在 1500 到 3500 内的员工

在这里插入图片描述

15.zrangebylex

通过字典区间返回有序集合的成员;
返回指定区间内的元素列表

ZRANGEBYLEX key min max [LIMIT offset count]

在这里插入图片描述

16.zcore

命令返回有序集中,成员的分数值。 如果成员元素不是有序集 key 的成员,或 key 不存在,返回 nil ;
成员的分数值,以字符串形式表示

ZSCORE key member

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

GoGo在努力

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值