zadd key score1 key2 score2 key2 ...
# 往有序集合key添加成员
# 示例
127.0.0.1:6379> zadd ages 28 zhangsan 24 lisi 26 wangwu
(integer) 0
127.0.0.1:6379> zrange ages 0 -1
1) " lisi"
2) " wangwu"
3) " zhangsan"
zrange key start stop [WITHSCORES]
# 把集合排序后,返回名次[start,stop]的成员按名次取成员
# 默认是升续排列,withscores 是把score也打印出来
# 示例
127.0.0.1:6379> zrange ages 0 -1 withscores
1) " lisi"
2) " 24"
3) " wangwu"
4) " 26"
5) " zhangsan"
6) " 28"
zrangebyscore key min max [withscores] limit offset N
# 集合(升序)排序后,取score在[min,max]内的成员,并跳过offset个,取出N个,按分数取成员
# 示例
127.0.0.1:6379> zadd ages 28 zhangsan 24 lisi 26 wangwu
(integer) 3
127.0.0.1:6379> zrangebyscore ages 25 30
1) " wangwu"
2) " zhangsan"
127.0.0.1:6379> zrangebyscore ages 25 30 limit 1 1
1) " zhangsan"
ZSCORE key member
# 获取指定成员的分数
# 示例
127.0.0.1:6379> zadd height 175 zhangsan 167 lisi 185 wangwu
(integer) 3
127.0.0.1:6379> zscore height lisi
" 167"
zcount key min max
# 计算[min,max]区间内成员的数量
# 示例
127.0.0.1:6379> zadd height 175 zhangsan 167 lisi 185 wangwu
(integer) 3
127.0.0.1:6379> zcount height 170 180
(integer) 1
6. zrank/zrevrank 获取成员升序/降序的排名
zrank/zrevrank key member
# 查询member的升序/降序排名,名次从0开始
# 示例
127.0.0.1:6379> zadd ages 28 zhangsan 24 lisi 26 wangwu
(integer) 0
127.0.0.1:6379> zrange ages 0 -1
1) " lisi"
2) " wangwu"
3) " zhangsan"
127.0.0.1:6379> zrank ages zhangsan
(integer) 2
127.0.0.1:6379> zrevrank ages zhangsan
(integer) 0
zrem key value1 value2 ..
# 删除集合中的成员
# 示例
127.0.0.1:6379> zrem ages wangwu
(integer) 1
127.0.0.1:6379> zrange ages 0 -1
1) " lisi"
2) " zhangsan"
8. zremrangebyrank 按排名删除成员
zremrangebyrank key start end
# 按排名删除成员,删除名次在[start,end]之间的
# 示例
127.0.0.1:6379> zadd height 175 zhangsan 167 lisi 185 wangwu 178 zhaoliu
(integer) 1
127.0.0.1:6379> zremrangebyrank height 0 1
(integer) 2
127.0.0.1:6379> zrange height 0 -1
1) " zhaoliu"
2) " wangwu"
9. zremrangebyscore 按分数删除成员
zremrangebyscore key min max
# 按照socre来删除成员,删除score在[min,max]之间的
# 示例
127.0.0.1:6379> zadd height 175 zhangsan 167 lisi 185 wangwu 178 zhaoliu
(integer) 2
127.0.0.1:6379> zremrangebyscore height 170 180
(integer) 2
127.0.0.1:6379> zrange height 0 -1
1) " lisi"
2) " wangwu"
zinterstore destination numkeys key [key ...] [WEIGHTS weight [weight ...]] [AGGREGATE SUM| MIN| MAX]
# 求key1、key2...的交集,key1、key2...的权重分别是 weight1、weight2...
# 聚合方法用: sum|min|max
# 聚合的结果保存在destination集合内
# 示例
127.0.0.1:6379> zadd zhangsan 5 iphone6s 7 galaxyS7 6 huaweiP9
(integer) 3
127.0.0.1:6379> zadd lisi 3 iphone6s 9 galaxyS7 4 huaweiP9 2 HTC10
(integer) 4
127.0.0.1:6379> zinterstore result 2 zhangsan lisi
(integer) 3
127.0.0.1:6379> zrange result 0 -1 withscores
1) " iphone6s"
2) " 8"
3) " huaweiP9"
4) " 10"
5) " galaxyS7"
6) " 16"
127.0.0.1:6379> zinterstore result 2 zhangsan lisi aggregate max
(integer) 3
127.0.0.1:6379> zrange result 0 -1 withscores
1) " iphone6s"
2) " 5"
3) " huaweiP9"
4) " 6"
5) " galaxyS7"
6) " 9"
zunionstore destination numkeys key [key ...] [WEIGHTS weight [weight ...]] [AGGREGATE SUM| MIN| MAX]
# 求key1、key2...的并集,key1、key2...的权重分别是 weight1、weight2...
# 聚合方法用: sum|min|max
# 聚合的结果保存在destination集合内
# 示例
127.0.0.1:6379> zadd zhangsan 4 iphone6s 6 huaweiP9 8 xiaomi5
(integer) 3
127.0.0.1:6379> zadd lisi 2 iphone6s 8 galaxS7 5 meizu6
(integer) 3
127.0.0.1:6379> zunionstore result 2 zhangsan lisi
(integer) 5
127.0.0.1:6379> zrange result 0 -1 withscores
1) " meizu6"
2) " 5"
3) " huaweiP9"
4) " 6"
5) " iphone6s"
6) " 6"
7) " galaxS7"
8) " 8"
9) " xiaomi5"
10) " 8"
127.0.0.1:6379> zunionstore result 2 zhangsan lisi aggregate max
(integer) 5
127.0.0.1:6379> zrange result 0 -1 withscores
1) " iphone6s"
2) " 4"
3) " meizu6"
4) " 5"
5) " huaweiP9"
6) " 6"
7) " galaxS7"
8) " 8"
9) " xiaomi5"
10) " 8"