![](/attachment/201509/7/29096438_1441607299pR8p.png)
- sortedset有续集合命令
zadd zcard | ZADD key score member [[score member] [score member] ...] 将一个或多个 如果某个 如果 当 | # 添加单个元素 redis> ZADD page_rank 10 google.com (integer) 1 # 添加多个元素 redis> ZADD page_rank 9 baidu.com 8 bing.com (integer) 2 redis> ZRANGE page_rank 0 -1 WITHSCORES 1) "bing.com" 2) "8" 3) "baidu.com" 4) "9" 5) "google.com" 6) "10" |
zrang zrevrang(逆序) | ZRANGE key start stop [WITHSCORES] 返回有序集 其中成员的位置按 具有相同 如果你需要成员按
下标参数
start
和
stop
都以
0
为底,也就是说,以
0
表示有序集第一个成员,以
1
表示有序集第二个成员,以此类推。
你也可以使用负数下标,以
-1
表示最后一个成员,
-2
表示倒数第二个成员,以此类推。
超出范围的下标并不会引起错误。
另一方面,假如
stop
参数的值比有序集的最大下标还要大,那么 Redis 将
stop
当作最大下标来处理。
可以通过使用
WITHSCORES
选项,来让成员和它的
score
值一并返回,返回列表以
value1,score1, ..., valueN,scoreN
的格式表示。
客户端库可能会返回一些更复杂的数据类型,比如数组、元组等。
| redis > ZRANGE salary 0 -1 WITHSCORES # 显示整个有序集成员 1) "jack" 2) "3500" 3) "tom" 4) "5000" 5) "boss" 6) "10086" |
zcount | ZCOUNT key min max 返回有序集 | 127.0.0.1:6379> ZRANGE page_rank 0 -1 WITHSCORES 1) "bing.com" 2) "6" 3) "baidu.com" 4) "9" 5) "google.com" 6) "10" 127.0.0.1:6379> zcount page_rank 6 10 (integer) 3 127.0.0.1:6379> zcount page_rank 8 10 (integer) 2 |
zincrby | ZINCRBY key increment member 为有序集 可以通过传递一个负数值 当 当 | 127.0.0.1:6379> zincrby page_rank 10 google.com "20" 127.0.0.1:6379> zscore page_rank google.com "20" |
zscore | 查看摸个元素的score值 | zscore key value |
zrangbyscore | ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT offset count] 返回有序集 具有相同 可选的
可选的
WITHSCORES
参数决定结果集是单单返回有序集的成员,还是将有序集成员及其
score
值一起返回
| 127.0.0.1:6379> zrange salary 0 -1 withscores 1) "jack" 2) "2500" 3) "tom" 4) "5000" 5) "peter" 6) "12000" 127.0.0.1:6379> zrangebyscore salary -inf +inf withscores 1) "jack" 2) "2500" 3) "tom" 4) "5000" 5) "peter" 6) "12000" 127.0.0.1:6379> zrangebyscore salary -inf 5000 withscores ---小于5000 1) "jack" 2) "2500" 3) "tom" 4) "5000" 127.0.0.1:6379> zrangebyscore salary 2499 4999 withscores ---2499到4999之间 1) "jack" 2) "2500" 127.0.0.1:6379> zrangebyscore salary 4999 +inf withscores -----大于4999 1) "tom" 2) "5000" 3) "peter" 4) "12000" |
zrank | ZRANK key member 返回有序集 排名以 使用 ZREVRANK 命令可以获得成员按 | 127.0.0.1:6379> zrank salary peter (integer) 2 127.0.0.1:6379> zrank salary tom (integer) 1 127.0.0.1:6379> zrank salary jack (integer) 0 |
ZREVRANK | 与zrank相反 | 127.0.0.1:6379> ZREVRANK salary peter (integer) 0 127.0.0.1:6379> ZREVRANK salary tom (integer) 1 127.0.0.1:6379> ZREVRANK salary jack (integer) 2 |
zrem | 移除元素 | 127.0.0.1:6379> zrem page_rank google.com (integer) 1 |
zremrangebyrank | ZREMRANGEBYRANK key start stop 移除有序集 区间分别以下标参数
下标参数
start
和
stop
都以
0
为底,也就是说,以
0
表示有序集第一个成员,以
1
表示有序集第二个成员,以此类推。
你也可以使用负数下标,以
-1
表示最后一个成员,
-2
表示倒数第二个成员,以此类推。
| 127.0.0.1:6379> zrangebyscore salary -inf +inf withscores 1) "jack" 2) "2000" 3) "peter" 4) "3500" 5) "tom" 6) "5000" 127.0.0.1:6379> zremrangebyrank salary 0 1 --删除排名前两名的 (integer) 2 127.0.0.1:6379> zrangebyscore salary -inf +inf withscores 1) "tom" 2) "5000" |
zremrangbyscore | 和上面的意义一样,异曲同工 | 127.0.0.1:6379> zrangebyscore salary -inf +inf withscores 1) "jack" 2) "2000" 3) "peter" 4) "3500" 5) "tom" 6) "5000" 127.0.0.1:6379> zremrangebyscore salary 1500 2500 ---删除1500-2500的 (integer) 1 127.0.0.1:6379> zrangebyscore salary -inf +inf withscores 1) "peter" 2) "3500" 3) "tom" 4) "5000" |
zrevrangebyscore | 与zrangebyscore就是逆序 | 127.0.0.1:6379> zrevrangebyscore salary +inf -inf withscores 1) "tom" 2) "5000" 3) "peter" 4) "3500" |
zunionstore | ZUNIONSTORE destination numkeys key [key ...] [WEIGHTS weight [weight ...]] [AGGREGATE SUM|MIN|MAX] 计算给定的一个或多个有序集的并集,其中给定 默认情况下,结果集中某个成员的 WEIGHTS 使用 如果没有指定 AGGREGATE 使用 默认使用的参数 | 127.0.0.1:6379> zrangebyscore manager -inf +inf withscores 1) "herry" 2) "2000" 3) "mary" 4) "3500" 5) "bob" 6) "4000" 127.0.0.1:6379> zrangebyscore programmer -inf +inf withscores 1) "peter" 2) "2000" 3) "jack" 4) "3500" 5) "tom" 6) "5000" 127.0.0.1:6379> zunionstore newset 2 programmer manager weights 1 3 (integer) 6 ----1是programmer的乘法因子,3是manager的乘法因子 127.0.0.1:6379> zrange newset 0 -1 withscores 1) "peter" 2) "2000" 3) "jack" 4) "3500" 5) "tom" 6) "5000" 7) "herry" 8) "6000" 9) "mary" 10) "10500" 11) "bob" 12) "12000" |
zinterstore (注意:新的score是集合的和) | ZINTERSTORE destination numkeys key [key ...] [WEIGHTS weight [weight ...]] [AGGREGATE SUM|MIN|MAX] 计算给定的一个或多个有序集的交集,其中给定 默认情况下,结果集中某个成员的 关于 | 127.0.0.1:6379> zrange mid_test 0 -1 withscores 1) "Han Meimei" 2) "70" 3) "Li Lei" 4) "70" 5) "Tom" 6) "99.5" 127.0.0.1:6379> zrange fin_test 0 -1 withscores 1) "Han Meimei" 2) "75" 3) "Li Lei" 4) "88" 5) "Tom" 6) "99.5" 127.0.0.1:6379> zinterstore newtest 2 mid_test fin_test (integer) 3 127.0.0.1:6379> zrange newtest 0 -1 withscores 1) "Han Meimei" 2) "145" 3) "Li Lei" 4) "158" 5) "Tom" 6) "199" |
ZRANGEBYLEX | ZRANGEBYLEX key min max [LIMIT offset count] 当有序集合的所有成员都具有相同的分值时, 有序集合的元素会根据成员的字典序(lexicographical ordering)来进行排序, 而这个命令则可以返回给定的有序集合键 | 127.0.0.1:6379> zrange myzset 0 -1 withscores 1) "a" 2) "0" 3) "b" 4) "0" 5) "c" 6) "0" 7) "d" 8) "0" 9) "e" 10) "0" 11) "f" 12) "0" 13) "g" 14) "0" 127.0.0.1:6379> zrangebylex myzset [a (g 1) "a" 2) "b" 3) "c" 4) "d" 5) "e" 6) "f" |
zlexcount | ZLEXCOUNT key min max 对于一个所有成员的分值都相同的有序集合键 这个命令的 | zlexcount myzset [a [g |
ZREMRANGEBYLEX | ZREMRANGEBYLEX key min max 对于一个所有成员的分值都相同的有序集合键 这个命令的 | redis> ZRANGE myzset 0 -1 1) "ALPHA" 2) "aaaa" 3) "alpha" 4) "b" 5) "c" 6) "d" 7) "e" 8) "foo" 9) "zap" 10) "zip" redis> ZREMRANGEBYLEX myzset [alpha [omega (integer) 6 redis> ZRANGE myzset 0 -1 1) "ALPHA" 2) "aaaa" 3) "zap" 4) "zip" |
| | |
| | |
| | |
未完待续。。。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29096438/viewspace-1793195/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/29096438/viewspace-1793195/