ZADD key [NX|XX] [CH] [INCR] score member

# 添加member为one 分数为1
ZADD myzset 1 "one"


# 添加多个
ZADD myzset 2 "two" 3 "three"


# 0-1 之间的所有数据
ZRANGE myzset 0 -1 WITHSCORES


#获取myzset的个数
ZCARD myzset


#获取myzset score值在min和max之间  (不 包括
ZCOUNT myzset (1 3
ZCOUNT myzset 1 3


#给myzset的ten +1
zincrby myzset 1 "ten"

# 批量添加
ZADD myzset 1 one 2 two 3 three 4 four 5 five 6 six 7 seven 8 eight 9 nive 10 ten

# 删除min到max 间的所有数据
ZREMRANGEBYSCORE myzset min max


#获得索引位置  zrank key member
zrank myzset "seven"

#移除一个或多个成员
ZREM key member [member ...] 






ZRANGEBYSCORE


#min 和 max 可以是 -inf 和 +inf ,这样一来,你就可以在不知道有序集的最低和最高 score 值的情况下,#使用 ZRANGEBYSCORE 这类命令

ZRANGEBYSCORE key min max [WITHSCORES]

#1 < score <= 5 
ZRANGEBYSCORE zset (1 5


 5 < score < 10
ZRANGEBYSCORE zset (5 (10

 

ZINTERSTORE


# 计算给定的一个或多个有序集的交集,其中给定 key 的数量必须以 numkeys 参数指定,并将该交集(结果集)
# 储存到 destination
ZINTERSTORE destination numkeys key [key ...]


zadd list1 1 one
zadd list1 2 two
zadd list1 3 three


zadd list2 1 one 3 three 4 four 5 five


# key 的数量 = list1和list2   这里是2
ZINTERSTORE list3 2 list1 list2


# 同个list1
ZINTERSTORE list1 2 list1 list2


#只取交集
zrange list3 0 -1 withscores
1) "one"
2) "2"
3) "three"
4) "6"

weights


# list11每个元素*0.5   list12每个元素*1.5  
# list13 是list11和list12并集的值相加
ZINTERSTORE list13 2 list11 list12 weights 0.5 1.5

aggregate



#aggregate  默认是sum
# list11的每个元素*0.5  list12的每个元素*1.5 
# list11的每个元素和list12取并集 ,然后把最小值放入list15
ZINTERSTORE list15 2 list11 list12 weights 0.5 1.5 aggregate min



demo:
zadd list11 three 3 five 5
zadd list12  three 3 five 15 six 6
ZINTERSTORE list15 2 list11 list12 weights 0.5 1.5 arrgegate min


 zrange list15 0 -1 withscores
1) "three"
2) "1.5"
3) "five"
4) "2.5"