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"