Redis基本类型-有序集合Zset
时间:2023-07-03 13:07:00
有序集合Zset:在set在此基础上,加一个score值。之前set是k1 v1 v2 v3,现在zset是 k1 score1 v1 score2 v2
h2>总结:#============================
# zadd 在有序集中添加一个或多个成员元素及其分数值
# zrange 返回有序集中 指定区间内的成员
#============================
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"
#============================
# zrangebyscore 返回有序集合中指定分数范围的成员列表 有序集成员按分数增加(从小到大)顺序排列
#============================
127.0.0.1:6379> zadd salary 2500 lmp
(integer) 1
127.0.0.1:6379> zadd salary 500 hyd
(integer) 1
127.0.0.1:6379> zadd salary 5000 wyt
(integer) 1#inf无穷大 同样 -inf 无穷小
127.0.0.1:6379> zrangebyscore salary -inf inf #显示整个有序集
1) "hyd"
2) "lmp"
3) "wyt"
127.0.0.1:6379> zrangebyscore salary -inf inf withscores #递增排列
1) "hyd"
2) "500"
3) "lmp"
4) "500"
5) "wyt"
6) "5000"127.0.0.1:6379> zrangebyscore salary -inf 2500 withscores #显示工资 <=2500的所有成员
1) "hyd"
2) "500"
3) "lmp"
4) "500"#============================
# zrem 移除一个或多个有序集中的成员
#============================
127.0.0.1:6379> zrange salary 0 -1
1) "hyd"
2) "lmp"
3) "wyt"
127.0.0.1:6379> zrem salary hyd
(integer) 1
127.0.0.1:6379> zrange salary 0 -1
1) "lmp"
2) "wyt"
#============================
# zcard计算集合元素数量的命令
#============================
127.0.0.1:6379> zcard salary
(integer) 2
#============================
# zcount在有序集合中计算指定分数范围的成员数量
#============================
127.0.0.1:6379> zadd myset 1 wyt
(integer) 1
127.0.0.1:6379> zadd myset 2 lmp 3 hyd
(integer) 2
127.0.0.1:6379> zcount myset 1 3
(integer) 3
127.0.0.1:6379> zcount myset 1 2
(integer) 2
#============================
# zrank 返回有序集合中指定成员的排名,其中有序集成员按分数(从小到大)的顺序排列
#============================
127.0.0.1:6379> zadd salary 2500 hyd
(integer) 1
127.0.0.1:6379> zadd salary 5000 wyt
(integer) 1
127.0.0.1:6379> zadd salary 500 lmp
(integer) 1
127.0.0.1:6379> zrange salary 0 -1 withscores #展示所有成员及其score值
1) "lmp"
2) "500"
3) "hyd"
4) "2500"
5) "wyt"
6) "5000"
127.0.0.1:6379> zrank salary wyt
(integer) 2
127.0.0.1:6379> zrank salary lmp
(integer) 0#============================
# zrevrank 返回有序集中成员的排名 有序集成员按分数(从大到小)排序
#============================
127.0.0.1:6379> zrevrank salary lmp #lmp第三
(integer) 2
127.0.0.1:6379> zrevrank salary wyt #wyt第一
(integer) 0