redis的有序集合

本文详细介绍了Redis的有序集合(ZSet)特性,包括添加、更新成员,计算成员分数和排名,范围查询,交集和并集等操作。这些功能使得Redis有序集合成为存储带分数的数据的理想选择,如排行榜或时间线等应用场景。
摘要由CSDN通过智能技术生成

redis的有序集合

  • 具有集合的性质
  • 有序

一.集合内

1.添加成员
zadd key score member [score member …] [nx|xx|ch|incr]

  • 返回添加成员成功的个数
  • nx:用于添加,成员不存在才可以添加成功
  • xx:用于更新,成员必须存在
  • ch:返回此次操作后,有序集合元素和分数发生变化的个数
  • incr:对score做增加,相当于zincrby

2.增加成员的分数
zincrby key increament member

127.0.0.1:6379> zadd rank 100 zhangsan
(integer) 1

127.0.0.1:6379> zincrby rank 10 zhangsan
"110"

3.计算成员个数
zcard key

  • 返回成员个数
127.0.0.1:6379> zcard rank
(integer) 4

4.计算某个成员的分数
zscore key member

  • 成员不存在则返回nil
127.0.0.1:6379> zscore rank zhangsan
"100"

127.0.0.1:6379> zscore rank wangwu
(nil)

5.计算成员的排名
zrank key member

  • 按分数升序排名
  • 排名从0开始计算

zrevrank key member

  • 按分数降序排名
  • 排名从0开始计算
127.0.0.1:6379> zrank rank zhangsan
(integer) 0
127.0.0.1:6379> zrevrank rank lisi
(integer) 0
127.0.0.1:6379> zrevrank rank zhangsan
(integer) 1

6.返回指定排名返回的成员
zrange key start end [withscores]

  • 按分数升序返回
    zrevrange key start end [withscores]
  • 按分数降序返回
127.0.0.1:6379> zrange rank 0 1 withscores
1) "xiaoming"
2) "60"
3) "xiaohong"
4) "77"

127.0.0.1:6379> zrevrange rank 0 1 withscores
1) "xiaofang"
2) "150"
3) "zhangsan"
4) "110"

7.返回指定分数范围的成员
zrangebyscore key min max [withscores] [limit offset count]

  • 按分数升序返回
  • limit offset count:限制输出的起始位置和个数
  • 返回最小或最大值支持开区间(小括号标识)和闭区间(默认是闭区间)

zrevrangbyscore key min max [withscores] [limit offset count]

  • 按分数降序返回
  • limit offset count:限制输出的起始位置和个数
  • 返回最小或最大值支持开区间(小括号标识)和闭区间(默认是闭区间)
127.0.0.1:6379> zrangebyscore rank (110 +inf withscores
1) "xiaofang"
2) "150"

127.0.0.1:6379> zrangebyscore rank 110 150 withscores
1) "zhangsan"
2) "110"
3) "xiaofang"
4) "150"

8.返回指定分数范围成员个数
zcount key min max

127.0.0.1:6379> zcount rank 110 150
(integer) 2

9.删除成员

zrem key member [member …]

  • 返回成功删除的个数
127.0.0.1:6379> zrem rank lisi
(integer) 1

10.删除指定排名内的升序元素
zremrangebyrank key start end

11.删除指定分数范围的成员
zremrangebyscore key min max

二.集合间的操作

1.交集
zinterstore destination numkeys key [key key …] [weights weight [weight …]] [aggregate sum|min|max]

  • destination:交集计算结果保存位置
  • numkeys:需要做交接计算的个数
  • key:交集计算的键
  • weights:每个键的权重
  • aggregate:计算成员交集后,分值的操作运算

2.并集
zunionstore destination numkeys key [key key …] [weights weight [weight …]] [aggregate sum|min|max]

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值