目录
1. zadd key score1 value1 score2 value2 ...
6. zrevrangebyscore key max min
Zset是有序的Set集合,根据有序的特性可以用作成绩表、排行榜、加权输出等。
1. zadd key score1 value1 score2 value2 ...
向指定的Zset集合插入元素,score则代表要插入元素的优先级,用数字表示,redis会根据score从小到大的顺序将元素插入到Zset中;如果key不存在则会先创建。当插入的元素已有时,则变为更新优先级的操作,并根据新的优先级调换位置;当新插入元素的score和集合中某些元素的score相同时,则会将新元素插入到这些元素的后面。score的值可以为负数。
2. zrange key start end
根据score从小到大的顺序输出一个Zset集合指定闭区间内的元素,注意这个区间并不是score的区间,而是元素下标的区间,0和-1代表所有元素;可以在后面加上rev表示倒序输出,此时下标区间则变为倒序后元素的区间,最后一个元素的下标变成了0,例如[0,1]代表取出最后两个元素;在后面加上withscores可以同时输出对应的score。
当出现负数时按照“Zset长度+负数”处理:
3. zrevrange key start end
相当于zrange key start end rev,区间同上,可以在后面加上withscores表示同时输出对应的score。
4. zrange key min max byscore
输出指定score范围内的所有元素,score的范围是[min,max],可以在后面加上withscores表示在输出元素的同时也输出对应的score;若将min和max分别设置为-inf和+inf则表示从无穷小到无穷大,相当于输出所有元素。但要注意-inf和+inf只能用于byscore的情况下,不能在按照下标区间输出时使用。
可以在后面加上rev表示根据score的倒序输出,但区间必须是[max,min]。
5. zrangebyscore key min max
相当于上面的zrange key min max byscore,也可以加上withscores同时输出对应的score。
6. zrevrangebyscore key max min
相当于zrange key max min rev,加上withscores同时输出对应的score,也是要注意score的区间必须是[max,min]。
7. zrem key value1 value2 ...
从Zset集合中移除指定元素。
8. zcard key
查看一个Zset集合的长度。
9. zcount key min max
查看一个Zset集合中score在[min,max]内的元素数量。