Redis五大基本数据类型之Zset类型
一、Zset类型数据的基本操作
1.1 Zset类型数据的基本性质
- 在
Set的基础上增加了一个值,用于排序 -
1.2
Zset类型数据的基本命令 zadd key index1 member1 ... indexn membern:向有序集合key中indexi的位置添加元素memberi127.0.0.1:6379> zadd myset 1 one 2 two 3 three(integer) 3
zrange key start stop [withscores]:查询有序集合key中的所有元素[withscores]表示将对应的score一起打印出来127.0.0.1:6379> zrange myset 0 -11) "one"2) "two"3) "three"
排序
zrangebyscore key min max [withscores]:将有序集合key按照从小到大排序-inf和+inf分别表示负、正无穷[withscores]表示将对应的score一起打印出来127.0.0.1:6379> zadd salary 1000 xiaohe 500 xiaoyao 2000 xiaoni(integer) 3127.0.0.1:6379> zrangebyscore salary -inf +inf1) "xiaoyao"2) "xiaohe"3) "xiaoni"127.0.0.1:6379> zrangebyscore salary -inf +inf withscores1) "xiaoyao"2) "500"3) "xiaohe"4) "1000"5) "xiaoni"6) "2000"
zrevrangebyscore key max min [withscores]:将有序集合key按照从大到小排序-inf和+inf分别表示负、正无穷[withscores]表示将对应的score一起打印出来127.0.0.1:6379> ZREVRANGEBYSCORE salary +inf -inf withscores1) "xiaoni"2) "2000"3) "xiaohe"4) "1000"5) "xiaoyao"6) "500"
移除元素
zrem key member1 ... membern:移除有序集合key中的元素memberi127.0.0.1:6379> zrange salary 0 -11) "xiaoyao"2) "xiaohe"3) "xiaoni"127.0.0.1:6379> zrem salary xiaoni xiaoyao(integer) 2127.0.0.1:6379> zrange salary 0 -11) "xiaohe"
zcard key:查询有序集合key中的内容数127.0.0.1:6379> zcard salary(integer) 1
zcount key min max:获取有序集合key在min和max的区间内的成员数127.0.0.1:6379> zadd myset 1 a 2 b 3 c 4 d(integer) 4127.0.0.1:6379> zcount myset 1 4(integer) 4127.0.0.1:6379> zcount myset 1 3(integer) 3
-
1.3
Zset使用场景 Set排序、班级成绩排序、工资表排序等- 设置消息权重,优先处理高优先级的消息
- 排行榜应用实现,取
Top N
