【redis实战】Redis命令之有序集合

和散列存储这键与值之间的映射类似,有序集合也存储这成员与分值之间的映射,并且提供了分值(分值在Redis中以IEEE754双精度浮点数的格式存储)的处理命令,以及根据分值大小有序地获取(fetch)或扫描(scan)成员和分值的命令。

常用命令

命令用例描述注意
zaddzadd key-name score member [score member]将元素member和分数score添加到集合中如果不存在则新添加,存在则覆盖
zremzrem key-name member [member …]移除一个或多个元素,返回移除元素的个数
zcardzcard key-name返回存在的元素数量
zincrbyzincrby key-name increment member给元素的分值加上整数increment
zcountzcount key-name min max返回介于min和max之间元素的数量
zrankzrank key-name member返回元素member的排名
zscorezscore key-name member返回元素member的分值
zrangezrange key-name start end [withscores]返回介于start和stop之间的成员,如果给定了withscores那么会将分值同成员一并返回

zadd

127.0.0.1:6379> zadd zs1 1 a
(integer) 1
127.0.0.1:6379> zadd zs1 2 a
(integer) 0

127.0.0.1:6379> zscore zs1 a
"2"

zcard

127.0.0.1:6379> zcard zs1
(integer) 1

zrange

127.0.0.1:6379> zrange zs1 0 -1
1) "a"

元素和分值一同返回

127.0.0.1:6379> zrange zs1 0 -1 withscores 
1) "a"
2) "2"
127.0.0.1:6379> zadd zs1 5 b
(integer) 1
127.0.0.1:6379> zrange zs1 0 -1 withscores 
1) "a"
2) "2"
3) "b"
4) "5"

高级命令

命令用例描述注意
zrevrankzrevrank key-name member返回元素按从大到小到排名
zrevrangezrevrange key-name start end [withscores]按照从大到小返回介于start和stop之间的成员,如果给定了withscores那么会将分值同成员一并返回
zrangebyscorezrangebyscore key-name min max [withscore] [limit offset count]返回介于min和max之间的元素,可以指定偏移量和查询个数
zrevrangebyscorezrevrangebyscore key-name min max [withscore] [limit offset count]按从大到小返回介于min和max之间的元素,可以指定偏移量和查询个数
zremrangebyrankzremrangebyrank key-name start stop移除排名从start到end之间的元素
zremrangebyscorezremrangebyscore key-name min max移除score从min到max之间的元素
zinterstorezinterstore dest-key key-count key [key …]执行类似于集合的交集运算
zunionstorezunionstore dest-key key-count key [key …][WEIGHTS weight [weight …]] [AGGREGATE sum |min|max]执行类似于集合的并集运算

交集和并集说明:
交集: 默认使用的是聚合函数sum

并集: 只要某个元素存在与集合中,那么并集就会被包含到输出有序集合里面,下图展示了使用聚合函数min执行并集运算的过程,min函数在多个输入有序集合都包含同一个成员的情况下,会将最小的哪个分值设置为这个成员在输出有序集合的分值。
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值