zset(有序集合)
在set的基础上增加了一个值
set k1 vi
zset k1 位置编号 v1 按位置添加一个值
zset myset 1 one 2 two 3 three
127.0.0.1:6379> zset myset 1 one 2 two 3 three
(error) ERR unknown command 'zset'
127.0.0.1:6379> zadd myset 1 one 2 two 3 three
(integer) 3
127.0.0.1:6379> ZRANGE myset 0 -1
1) "one"
2) "two"
3) "three"
127.0.0.1:6379> zadd myset 1 one 2 two 3 three
127.0.0.1:6379> zadd salary 2500 xioazhang
(integer) 1
127.0.0.1:6379> zadd salary 500 liming
(integer) 1
127.0.0.1:6379> zadd salary 1500 ganggnan
(integer) 1
127.0.0.1:6379> ZRANGEBYSCORE salary -inf +inf
1) "liming"
2) "ganggnan"
3) "xioazhang"
127.0.0.1:6379> ZRANGEBYSCORE salary +inf -inf
(empty list or set)
127.0.0.1:6379> ZRANGEBYSCORE salary -inf +inf
1) "liming"
2) "ganggnan"
3) "xioazhang"
127.0.0.1:6379> ZRANGEBYSCORE salary 0 -1
(empty list or set)
127.0.0.1:6379> ZRANGEBYSCORE salary -1 0
(empty list or set)
127.0.0.1:6379> ZRANGEBYSCORE salary -inf +inf withscore
(error) ERR syntax error
127.0.0.1:6379> ZRANGEBYSCORE salary -inf +inf withscores
1) "liming"
2) "500"
3) "ganggnan"
4) "1500"
5) "xioazhang"
6) "2500"
127.0.0.1:6379> ZRANGEBYSCORE salary -inf 1600 withscores
1) "liming"
2) "500"
3) "ganggnan"
4) "1500"
127.0.0.1:6379> zrange salart 0 -1
(empty list or set)
127.0.0.1:6379> zrange salary 0 -1
1) "liming"
2) "ganggnan"
3) "xioazhang"
127.0.0.1:6379> zrem salary liming //移除
(integer) 1
127.0.0.1:6379> zrange salary 0 -1
1) "ganggnan"
2) "xioazhang"
127.0.0.1:6379> zcard salary // 显示个数
(integer) 2
127.0.0.1:6379> zrange salary 0 -1
// 从大都小 与 从小到大 排序
127.0.0.1:6379> ZREVRANGE salary 0 -1
1) "xioazhang"
2) "ganggnan"
127.0.0.1:6379> zrevange salary 0 -1
(error) ERR unknown command 'zrevange'
127.0.0.1:6379> zrevrange salary 0 -1
1) "xioazhang"
2) "ganggnan"
127.0.0.1:6379> zrange salary 0 -1
1) "ganggnan"
2) "xioazhang"
127.0.0.1:6379> zrevrange salary 0 -1
、、 获取指定区间的成员变量
127.0.0.1:6379> zadd myset1 1 hello 2 big 3 world
(integer) 3
127.0.0.1:6379> zcount myset 1 4
(integer) 8
127.0.0.1:6379> zcount myset1 1 4
(integer) 3
127.0.0.1:6379> zcount myset1 1 3
(integer) 3
127.0.0.1:6379> zcount myset1 1 2
(integer) 2
127.0.0.1:6379> zcount myset1 1 1\
(error) ERR min or max is not a float
127.0.0.1:6379> zcount myset1 1 1
(integer) 1
127.0.0.1:6379> zcount myset1 1 0
(integer) 0
127.0.0.1:6379> zcount myset1 0 2
还没讲的 主要查官方文档
案例思路: zset 有序集合 班级成绩表 工资表排序
普通消息: 1. 重要消息 2. 待权重判断 加权 3. top 10 热点消息都可以用zset 实现