Zset(有序集合)
- 序集合 Zset 与 普通集合 Set 类似 , 都是 没有重复元素的集合 ;
- 有序集合 Zset 中的 元素排序 , 是 根据 评分 进行排序 , 每个成员 都关联了一个 评分 , 在该 有序集合 中 , 根据 评分 由低到高 进行排序 ;
- Zset 中的元素 是 不可重复的 , 但是 元素 关联 的 评分 是可以重复的 , 也就是说 存在 两个不同的元素 关联着 相同的 评分 ;
- Zset 中的元素 是 有序 的 , 根据 排序的索引 或者 元素的评分 可以获取 指定范围 的 成员 ; 如 : 获取 中间元素 ;
案例
127.0.0.1:6379> ZADD myset 1 noe #增加一个值
(integer) 1
127.0.0.1:6379> ZADD myset 1 two 3 three #增加多个值
(integer) 2
127.0.0.1:6379> zrange myset 0 -1
1) "noe"
2) "two"
3) "three"
- ZRANGEBYSCORE
127.0.0.1:6379> ZADD salary 2500 xiaohong #添加用户
(integer) 1
127.0.0.1:6379> ZADD salary 5000 zhangsan
(integer) 1
127.0.0.1:6379> ZADD salary 20000 leilei
(integer) 1
127.0.0.1:6379> ZRANGEBYSCORE salary -inf +inf #显示所有用户,从小到大排序
1) "xiaohong"
2) "zhangsan"
3) "leilei"
127.0.0.1:6379> ZRANGEBYSCORE salary -inf +inf withscores #显示所有用户,从小到大排序并显示成绩
1) "xiaohong"
2) "2500"
3) "zhangsan"
4) "5000"
5) "leilei"
6) "20000"
127.0.0.1:6379> ZRANGEBYSCORE salary -inf 5000
1) "xiaohong"
2) "zhangsan"
127.0.0.1:6379> ZRANGEBYSCORE salary -inf 5000 withscores #显示工资小于5000的升序排序
1) "xiaohong"
2) "2500"
3) "zhangsan"
4) "5000"
- ZREM
127.0.0.1:6379> zrange salary 0 -1
1) "xiaohong"
2) "zhangsan"
3) "leilei"
127.0.0.1:6379> ZREM salary xiaohong #移除有序集合中的指定元素
(integer) 1
127.0.0.1:6379> zrange salary 0 -1
1) "zhangsan"
2) "leilei"
- ZCARD
127.0.0.1:6379> ZCARD salary #获取有序结合中的个数
(integer) 2
- ZCOUNT
127.0.0.1:6379> ZADD myset 1 hello
(integer) 1
127.0.0.1:6379> ZADD myset 2 world 3 leilei
(integer) 2
127.0.0.1:6379>
127.0.0.1:6379>
127.0.0.1:6379>
127.0.0.1:6379>
127.0.0.1:6379> ZCOUNT myset 1 3 #获取指定区间的成员数量
(integer) 3
127.0.0.1:6379> ZCOUNT myset 1 2
(integer) 2
标签:salary,127.0,zset,0.1,xiaohong,Redis,6379,integer
From: https://www.cnblogs.com/OpenSourceSite/p/18231927