zset类型结构:zadd k1 score1 v1
#############################################
添加元素:zadd
127.0.0.1:6379> zadd myset 1 one
(integer) 1
127.0.0.1:6379> zadd myset 2 two 3 three
(integer) 2
127.0.0.1:6379> zrange myset 0 -1
1) "one"
2) "two"
#############################################
排序;zrangebyscore
+inf代表正无穷
-inf代表负无穷
127.0.0.1:6379> zadd salary 3000 morty
(integer) 1
127.0.0.1:6379> zadd salary 8000 rick
(integer) 1
127.0.0.1:6379> zadd salary 1000 jerry
(integer) 1
127.0.0.1:6379> zrangebyscore salary -inf +inf
1) "jerry"
2) "morty"
3) "rick"
#############################################
带socore的值:withscores
127.0.0.1:6379> zrangebyscore salary -inf +inf withscores
1) "jerry"
2) "1000"
3) "morty"
4) "3000"
5) "rick"
6) "8000"
#############################################
score截取范围:
127.0.0.1:6379> zrangebyscore salary -inf 4000 withscores
1) "jerry"
2) "1000"
3) "morty"
4) "3000"
#############################################
删除zset里面的元素:zrem
127.0.0.1:6379> zrange salary 0 -1
1) "jerry"
2) "morty"
3) "rick"
127.0.0.1:6379> zrem salary jerry
(integer) 1
127.0.0.1:6379> zrange salary 0 -1
1) "morty"
2) "rick"
#############################################
获取zset里面元素个数:zcard
127.0.0.1:6379> zcard salary
(integer) 2
#############################################
反过来遍历:zrevrange
127.0.0.1:6379> zrevrange salary 0 -1
1) "rick"
2) "morty"
#############################################
获取在某个score区间的zset数据个数:zcount
127.0.0.1:6379> zadd myset 1 hello
(integer) 1
127.0.0.1:6379> zadd myset 2 world 3 morty
(integer) 2
127.0.0.1:6379> zcount myset 1 3
(integer) 3
127.0.0.1:6379> zcount myset 1 2
(integer) 2
应用场景:
set 排序:存储班级成绩表,工资成绩表
普通消息:1,重要消息:2。带权重进行判断
排行榜应用实现