sorted-set 有序集合
添加元素
zadd key score1 member1 score2 member2...
删除元素
zrem key member1 member2
zremrangebyscore key min max #删除 score 在[min,max]之间的元素
zremrangebyrank key start end #删除 rank 在[start,end]之间的元素
获取 score
zscore key member
更新 score
zincrby key num member #给集合 key 中的元素 member 增加 num
获取 rank
zrank key member #查元素 member 的升序排名,从0开始
zrevrank key member # 降序排名,从0开始
zrevrangebyscore key max in [withscores] limit offset N
获取元素
zrange key start stop [withscores] #集合排序后,获取排名在[start,stop]之间的元素(并返回scores).
zrevrange key start stop [withscores] #降序
zrangebyscore key min max [withscores] limit offset N #排名在[min,max]之间,并跳过 offset 个取 N 个元素
获取元素个数
zcard key #返回元素个数
zcount key min max #返回值[min,max]之间元素的数量
运算
zinterstore/zunionstore dest numkeys key1 key2 [WEIGHTS weights weight1 weight2]
#zinterstore 集合求交集/并集,且将结果存储在集合 dest 中.
#numkeys 交代参与运算的集合数
#wigth 为权重,会根据集合的权重,重新计算 score
示例:
redis>zadd zset1 1 one 2 two
redis>zadd zset2 1 one 2 two 3 three
redis>zinterstore zset3 2 zset1 zset2 weights 2 3
redis>zrange zset3 0 -1 withscores
1):"one"
2):"5"
3):"two"
4):"10"