Zset(有序集合)
- 在set的基础上,增加了一个值来进行排序
- set k1 v1
- zset k1 score1 v1
- 存储班级成绩表,工资表排序,热搜排行榜
向集合中增值:
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"
3) "three"
排序:
127.0.0.1:6379> zadd salary 3000 zhangsan
(integer) 1
127.0.0.1:6379> zadd salary 1000 lyr
(integer) 1
127.0.0.1:6379> zadd salary 200 kx
(integer) 1
127.0.0.1:6379> zrangebyscore salary -inf +inf #显示所有用户,由小到大排序
1) "kx"
2) "lyr"
3) "zhangsan"
127.0.0.1:6379> zrevrange salary 0 -1 #显示所有用户,由大到小排序
1) "zhangsan"
2) "lyr"
3) "kx"
127.0.0.1:6379> zrangebyscore salary -inf +inf withscores #显示所有用户,由小到大排序并且附带成绩
1) "kx"
2) "200"
3) "lyr"
4) "1000"
5) "zhangsan"
6) "3000"
移除:
127.0.0.1:6379> zrange salary 0 -1
1) "kx"
2) "lyr"
3) "zhangsan"
127.0.0.1:6379> zrem salary zhangsan #移除指定元素
(integer) 1
127.0.0.1:6379> zrange salary 0 -1
1) "kx"
2) "lyr"
127.0.0.1:6379> zcard salary #获取集合中的个数
(integer) 2
127.0.0.1:6379> zadd myset 1 hello 2 world 3 redis
(integer) 3
127.0.0.1:6379> zcount myset 1 2 #获取指定区间的成员数量
(integer) 2
127.0.0.1:6379> zcount myset 1 3
(integer) 3