ZADD key score member [[score member] [score member] …]
# 排好序后 从小到大
# start 开始位置 stop结束位置
# [WITHSCORES] 是否显示分数
# 以 0 表示有序集第一个成员,以 1 表示有序集第二个成员,以此类推
# 以 -1 表示最后一个成员, -2 表示倒数第二个成员,以此类推
ZRANGE key start stop [WITHSCORES]
zrange zlist 0 -1 wisthscores
# 分数从大到小排列
ZREVRANGE key start stop [WITHSCORES]
# 获得分数
ZSCORE key member
# demo
zscore zlist five
# increment 可以正负 负的减分
ZINCRBY key increment member
zincrby zlist 3 five
# 有序集合数量
ZCARD key
# 在score >=min && score <= max 之间的数量
ZCOUNT key min max
# 从小到大 -inf在前 +inf
ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT offset count]
# -无穷 +无穷
ZRANGEBYSCORE zlist -inf +inf withscores
# Will return all elements with 1 < score <= 5
ZRANGEBYSCORE zset (1 5
# 5 < score < 10
ZRANGEBYSCORE zset (5 (10
# 从第1个位置 取2个
ZRANGEBYSCORE zlist -inf +inf limit 1 2
# 从大到小 +inf在前 -inf在后
ZREVRANGEBYSCORE key max min [WITHSCORES] [LIMIT offset count]
ZREVRANGEBYSCORE zlist +inf -inf
# 返回member的排名 从小到大 返回0是最小的
ZRANK key member
# 从大到小排名 返回0是最大的
ZREVRANK key member
# 移除元素
ZREM key member [member …]
# 根据排名删除
ZREMRANGEBYRANK key start stop
# 根据分数删除
# 删除全部 从小到大 -inf在前 +inf
ZREMRANGEBYSCORE key min max
# 删除 3<= score <= 5
zremrangebyscore zlist 3 5
# 删除 3< score <= 5
zremrangebyscore zlist (3 5
# 当以相同的分数插入排序集中的所有元素时,为了强制按字典顺序排序
# - 表示负无限(min) + 表示正无限(max)
# [保护 (不包含
ZRANGEBYLEX key min max [LIMIT offset count]
# 全部数据
ZRANGEBYLEX zlist - +
ZRANGEBYLEX zlist - [ttt
ZRANGEBYLEX zlist [a [z
# 当以相同的分数插入排序集中的所有元素时
# 为了强制按字典顺序排序,此命令将返回的排序集中的元素数
ZLEXCOUNT key min max
zlexcount zlist - +
ZLEXCOUNT myzset [b [f
ZUNIONSTORE destination numkeys key [key …] [WEIGHTS weight [weight …]] [AGGREGATE SUM|MIN|MAX]
# 程序员组
zadd programmer 10000 a 20000 b 30000 c
# 管理组
zadd manager 11000 ma 22000 mb 31000 mc
# 程序组加薪10% 管理组加薪20%
# 合并到薪水组
# numkeys=2 key1=programmer key2=manager
# key1对应权重=1.1 key2对应权重=1.2
ZUNIONSTORE salary 2 programmer manager WEIGHTS 1.1 1.2
# 查看薪水组
zrange salary 0 -1 withscores
# 添加hr组
zadd hr 8000 a 30000 mb
# AGGREGATE MAX 如果多个集合中member一样 取最大 最小 或者 求和
ZUNIONSTORE salary2 3 programmer manager hr WEIGHTS 1.1 1 1 AGGREGATE MAX
ZINTERSTORE destination numkeys key [key ...] [WEIGHTS weight [weight ...]] [AGGREGATE SUM|MIN|MAX]
# 取交集
ZADD zset1 1 "one" 2 "two"
ZADD zset2 1 "one" 2 "two" 3 "three"
ZINTERSTORE out 2 zset1 zset2 WEIGHTS 2 3
zrange out 0 -1 withscores
1) "one"
2) "5"
3) "two"
4) "10"
# 取并集最小值 numkeys=2 2 3 是权重
ZINTERSTORE out 2 zset1 zset2 WEIGHTS 2 3 aggregate min