redis之SortedSet有序集合

目录

一:概念

二:命令

1:添加元素

2:移除一个或者多个元素

3:显示分值

4:增加或者减少分值

5:返回元素的排名(索引)(没有就是null)

6:返回元素的逆序排名

7:返回指定索引区间元素

8:返回指定分值区间元素

9:移除指定排名范围的元素

10:移除指定分值范围的元素

11:返回集合中元素个数

14:并集

15:交集


一:概念

类似Set集合

有序的、去重的

元素是字符串类型

每一个元素都关联着一个浮点数分值(Score),并按照分值从小到大的顺序排列集合中的元素。分值可以相同

最多包含2^32-1元素

二:命令

1:添加元素

ZADD key score member [score member ...]

如果元素已经存在,则使用新的score

 

2:移除一个或者多个元素

ZREM key member [member ...]

元素不存在,自动忽略

3:显示分值

ZSCORE key member

计算机并不能精确表达每一个浮点数,都是一种近似表达

 

4:增加或者减少分值

ZINCRBY key increment member

increment为负数就是减少

 

5:返回元素的排名(索引)(没有就是null)

ZRANK key member

 

6:返回元素的逆序排名

ZREVRANK key member

 

7:返回指定索引区间元素

ZRANGE key start stop [WITHSCORES]

如果score相同,则按照字典序lexicographical order 排列

默认按照score从小到大,如果需要score从大到小排列,使用ZREVRANGE

 

8:返回指定分值区间元素

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

返回score默认属于[min,max]之间,元素按照score升序排列,score相同字典序

LIMIT中offset代表跳过多少个元素,count是返回几个。类似于Mysql

使用小括号,修改区间为开区间,例如(5、(10、5)

-inf和+inf表示负无穷和正无穷

 

9:移除指定排名范围的元素

ZREMRANGEBYRANK key start stop

10:移除指定分值范围的元素

ZREMRANGEBYSCORE key min max

11:返回集合中元素个数

ZCARD key

14:并集

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

numkeys指定key的数量,必须(一个公共元素指定大小为2)

WEIGHTS选项,与前面设定的key对应,对应key中每一个score都要乘以这个权重

AGGREGATE选项,指定并集结果的聚合方式

SUM:将所有集合中某一个元素的score值之和作为结果集中该成员的score值

MIN:将所有集合中某一个元素的score值中最小值作为结果集中该成员的score值

MAX:将所有集合中某一个元素的score值中最大值作为结果集中该成员的score值

例子:

ZADD scores1 70 tom 80 peter 60 john

ZADD scores2 90 peter 60 ben

ZUNIONSTORE scores-all 2 scores1 scores2

ZUNIONSTORE scores-all1 2 scores1 scores2 AGGREGATE SUM

ZUNIONSTORE scores-all2 2 scores1 scores2 WEIGHTS 1 0.5 AGGREGATE SUM

 

 

 

15:交集

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

numkeys指定key的数量,必须

WEIGHTS选项,与前面设定的key对应,对应key中每一个score都要乘以这个权重

AGGREGATE选项,指定并集结果的聚合方式

SUM:将所有集合中某一个元素的score值之和作为结果集中该成员的score值

MIN:将所有集合中某一个元素的score值中最小值作为结果集中该成员的score值

MAX:将所有集合中某一个元素的score值中最大值作为结果集中该成员的score值

例子:

ZADD scores3 80 tom 90 peter 60 john

ZADD scores4 90 peter 60 ben

ZINTERSTORE scores-all3 2 scores3 scores4

ZINTERSTORE scores-all5 2 scores3scores4 WEIGHTS 1 0.5 AGGREGATE SUM

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值