Redis Zset

有序集合

排序集是一种数据类型,类似于set、hash的混合。与set一样,排序集合由唯一的、不重复的字符串元素组成,因此在某种意义上,排序集合也是集合。但排序集合中的每个元素都与一个称为分数的浮点值相关联,排序集中的元素是按顺序排列的。

排序情况:
如果A和B是两个得分不同的元素,那么如果A得分大于B得分,则A>B。

如果A和B的分数完全相同,那么如果A字符串在词典上大于B字符串,则A>B。A和B字符串不能相等,因为排序集只有唯一的元素。

127.0.0.1:6379> ZADD myzset 1 one 2 two 3 three
(integer) 3
127.0.0.1:6379> ZRANGE myzset 0 -1
1) "one"
2) "two"
3) "three"

从小到大

127.0.0.1:6379> zrangebyscore salary -inf +inf WITHSCORES
1) "user2"
2) "2100"
3) "user1"
4) "2500"
5) "user3"
6) "3000"

指定范围

127.0.0.1:6379> zrangebyscore salary 2500 2600
1) "user1"

倒序

127.0.0.1:6379> zrevrangebyscore salary +inf -inf
1) "user3"
2) "user1"
3) "user2"
127.0.0.1:6379> zrevrangebyscore salary +inf -inf withscores
1) "user3"
2) "3000"
3) "user1"
4) "2500"
5) "user2"
6) "2100"

元素移除

127.0.0.1:6379> ZREM salary user2
(integer) 1
127.0.0.1:6379> zrevrangebyscore salary +inf -inf
1) "user3"
2) "user1"

区间数量获取

127.0.0.1:6379> ZCOUNT salary 2100 2100
(integer) 0
127.0.0.1:6379> ZCOUNT salary 2100 2600
(integer) 1

应用: 班级成绩表、排行榜、工资表排序、重要消息、带权重进行判断、TOP N场景等

更多 more click me

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值