redis有序集合

有序集合中的元素是不可重复的 

有序集合中的元素是可以排序的,每个元素通过score 分值作为有序集合排序的依据

有序集合添加元素(zadd key [NX|XX] [CH] [INCR] score member [score member ...] )返回添加成功的个数

127.0.0.1:6379> zadd zset 2 two 1 one 5 five 4 four 3 thrre
(integer) 5

NX 表示member必须不存在,才可以设置成功,用于添加

XX 表示member必须存在,才可以设置成功,用于更新

CH 表示返回此次操作后,元素和分数发生变化个数

INCR 对score 做增加

 获取有序集合的成员个数(zcard key)不存在返回0

 127.0.0.1:6379> zcard zset
(integer) 5

 

获取有序集合成员分数(zsore key member)成员不存在返回nil

127.0.0.1:6379> zscore zset one
"1"
 

 计算成员分数从低到高排名(zrank key member)成员不存在返回nil

127.0.0.1:6379> zrank zset two
(integer) 1


 计算成员分数从高到低排名(zrevrank key member)成员不存在返回nil

 127.0.0.1:6379> zrevrank zset two
(integer) 3

​​​​​​​删除有序集合中的元素(zrem key member [member ...])

 127.0.0.1:6379> zrem zset one
(integer) 1

增加有序集合元素的分数(zincrby key increment member)返回增加分数后的结果

 127.0.0.1:6379> zincrby zset 2 two
"4"

有序集合分数从低到高返回指定排名范围的元素(zrange key start end [withscores])

 127.0.0.1:6379> zrange zset 1 2 withscores
1) "four"
2) "4"
3) "two"
4) "4"

 

​​​​​​​有序集合分数从高到低返回指定排名范围的元素( zrevrange key start end [withscores])

 127.0.0.1:6379> zrevrange zset 1 2 withscores
1) "two"
2) "4"
3) "four"
4) "4"

 

 有序集合指定分数从低到高返回指定排名范围的元素(zrangebyscore  key min max end [withscores] [limit offset count]) # +inf 和-inf 代表无穷大和无穷小 、min 和max支持符号()和{}

 127.0.0.1:6379> zrangebyscore zset 3 +inf withscores
1) "thrre"
2) "3"
3) "four"
4) "4"
5) "two"
6) "4"
7) "five"
8) "5"

 

有序集合指定分数从高到低返回指定排名范围的元素( zrevrangebyscore  key min max end [withscores] [limit offset count]) 

127.0.0.1:6379> zrevrangebyscore zset 4 -inf withscores
1) "two"
2) "4"
3) "four"
4) "4"
5) "thrre"
6) "3"
 

获取有序集合指定分数范围成员的个数(zcount key min max) 

 127.0.0.1:6379> zcount zset 4 5
(integer) 3

 

 删除有序集合根据指定排名内升序元素(zremrangebyrank key start stop)

 127.0.0.1:6379> zremrangebyrank zset 0 1
(integer) 2

 

  删除有序集合根据指定分数范围的元素(zremrangebyscore key min max)

 127.0.0.1:6379> zremrangebyscore zset 5 6
(integer) 1

 

集合间的操作 

添加两个有序集合

 127.0.0.1:6379> zadd zsetone 1 one 2 two 3 three
(integer) 3
127.0.0.1:6379> zadd zsettwo 10 two 5 five 4 four
(integer) 3

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

科技发烧爱好者-羊工

谢谢支持

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

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

打赏作者

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

抵扣说明:

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

余额充值