有序集合
排序集是一种数据类型,类似于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