Zset 有序集合
在set的基础上增加一个值,set ( K V) 、Zset (K SCORE V)
基础
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 money 2500 zhangsan #添加三条数据
(integer) 1
127.0.0.1:6379> zadd money 3000 lisi
(integer) 1
127.0.0.1:6379> zadd money 1500 wangwu
(integer) 1
127.0.0.1:6379> ZRANGEBYSCORE money -inf +inf #按从小到大排序
1) "wangwu"
2) "zhangsan"
3) "lisi"
127.0.0.1:6379> ZREVRANGE money 0 -1 #按从大到小排序
1) "lisi"
2) "zhangsan"
3) "wangwu"
127.0.0.1:6379> ZRANGEBYSCORE money -inf +inf withscores #显示全部用户数据并附带scores(分数)
1) "wangwu"
2) "1500"
3) "zhangsan"
4) "2500"
5) "lisi"
6) "3000"
127.0.0.1:6379> ZRANGEBYSCORE money -inf 2500 withscores #显示小于2500的用户并按升序排序
1) "wangwu"
2) "1500"
3) "zhangsan"
4) "2500"
rem 移除
127.0.0.1:6379> zrange money 0 -1
1) "wangwu"
2) "zhangsan"
3) "lisi"
127.0.0.1:6379> zrem money zhangsan #移除有序集合中的指定元素
(integer) 1
127.0.0.1:6379> zrange money 0 -1
1) "wangwu"
2) "lisi"
127.0.0.1:6379> zcard money #获取有序集合中的个数
(integer) 2
127.0.0.1:6379> zadd myset 1 hello
(integer) 1
127.0.0.1:6379> zadd myset 2 world 3 nihao 4 ido 5 yes
(integer) 4
127.0.0.1:6379> zrange myset 0 -1
1) "hello"
2) "world"
3) "nihao"
4) "ido"
5) "yes"
127.0.0.1:6379> zcount myset 1 4 #获取指定区间的数量
(integer) 4
127.0.0.1:6379> zcount myset 2 5
(integer) 4
127.0.0.1:6379> zcount myset 2 4
(integer) 3