8.Redis有序集合zset

1.Zset是在set的基础上加上一个sorce值,set的结构是k1 v1 v2 v3,Zset的结构是k1 sorce1 v1 sorce2 v2。
Zset是有序set集合,其排序那就是按照sorce值进行排序的。

2.Zset常用命令:
zadd:向Zset中添加元素
zadd key-name sorce value --向Zset中添加一个元素
zadd key-name sorce1 value1 sorce2 value2 [sorce3 value3] --向Zset中添加多个元素

zrange:输出指定范围内的元素
zrange key start stop [withscores]:查看指定范围内集合中的元素,withscores表示带分数输出
zrange myZset 0 -1:不带分数输出所有元素的值
zrange myZset 0 2:不带分数输出下标从0开始到2的元素的值
zrange myZset 0 -1 withscores:带分数输出所有元素的值
zrange myZset 0 2 withscores:带分数输出下标从0开始到2的元素的值

zrank:输出指定元素的下标
zrank key member:输出指定成员的下标,如果member不存在,输出null
zrank myZset value2:输出集合myZset中值为value2的下标

zcount:输出指定范围内元素的个数
zcount key min max:输出集合key中分数在min和max之间(包含min和max)的元素个数
zcount myZset 1 3:输出myZset中分数大于等于1小于等于3的元素个数

zrem:删除指定的元素
zrem key member:删除key中指定的元素member
zrem myZset value4:删除myZset中的元素value4

zscore:输出指定元素的分数
zscore key member:输出指定成员的分数
zscore myZset value3:输出集合myZset中value3的分数

zincrby:将指定的元素的分数进行增减操作
zincrby key increment member:将集合key中的元素member的分数加increment,increment>0表示加,increment<0表示减
zincrby myZset 4 value3:将myZset中value3的值加4
zincrby myZset -2 value3:将myZset中value3的值减2

zrangebyscore:按指定的分数范围输出出值
zrangebyscore key min max [withscores] [limit offset count]:输出集合key中分数值在min和max之间(包括min和max)的值,withscores表示带分数输出,limit offset count表示输出在min和max之间的下标从offset开始的count个值。
zrangebyscore myZset 2 8:不带分数输出myZset中分数在2和8之间的元素值
zrangebyscore myZset 2 8 withscores:带分数输出myZset中分数在2和8之间的元素
zrangebyscore myZset 2 8 withscores limit 1 2:带分数取出myZset中分数在2和8之间的元素,下标从1开始输出2个元素

zrevrange和zrevrangebyscore:倒叙输出
zrevrange key start stop [withscores]:按分数有大到小排序,然后输出下标从在start和stop之间的元素,withscores表示带分数输出
zrevrange myZset 0 -1:不带分数输出myZset中所有的元素
zrevrange myZset 0 3 withscores:带分数输出myZset中
zrevrangebyscore key max min [withscores] [limit offset count]:将key中的元素按分组从大到小排序,然后输出分数<=max且>=min的元素;withscores表示带分数输出,limit offset count表示输出在min和max之间的下标从offset开始的count个值。
zrevrangebyscore myZset 4 2:按分数从大到小排序,不带分数输出分数在2和4之间的元素
zrevrangebyscore myZset 4 2 withscores limit 2 2:按分数从大到小排序,带分数输出分数在2和4之间的元素,下标从2开始输出2个元素

zremrangebyscore和zremrangebyrank:删除指定范围的元素
zremrangebyscore key min max:删除key中分数在min和max之间(包括min和max)的元素
zremrangebyscore myZset 1 2:删除myZset中分数>=1且<=2之间的元素
zremrangebyrank key start stop:按下标删除,删除key中下标在start和stop之间(包括start和stop)的元素
zremrangebyrank myZset 0 2:删除myZset中下标在0和2之间的元素

 

zunionstore newkey keynumbers key [key]:取多个key的并集,newKey是合并后新key的名称,keynumbers表示要合并的key的个数
zunionstore unZset 2 myZset myZset2:将myZset myZset2这两个key中的元素合并到unZset中

 

zinterstore newKey keynumbers key [key]:取多个集合的交集,将结果放入newKey中,keynumbers表示要取交集的集合的数量
zinterstore newZset 2 myZset myZset2:取myZset和myZset2这两个交集的交集,结果放入newZset中

 

注:上面命令中的myZset是举例的zset集合,读者请根据个人实际情况修改成自己的。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值