set 是一种非常方便的结构,但是数据时无序的。redis中提供了一个sorted set ,每添加一个值都有一个对应的分数,通过这个分数进行排序。
sorted set使用的场景:sorted set基本上redis最有用的一种数据结构 ,非常适合做海量的数据的排行榜。
如下介绍下简单的命令:
增加:
zadd key score member score1 member1 score2 member2
获取值操作
zscore key member 返回指定成员的分数
zcard key 获取集合中的成员数量
删除操作:
zrem key member 移除集合中制定的成员,可以指定多个成员
范围查询(也可以用 limit ):
zrange key start end [withscores] 获取集合中下表为start-end的成员,[withscore]参数表明返回的成员包含其分数
zrevrange key start end 排行榜倒叙
zremrangebyrank key start top 按照排名范围删除元素
zremrangebyscore key min max 按照分数范围删除元素
zincrby key increment member 设定成员的增加的分数,返回值是更改之后的分数
zcount key min max 获取分数在 min 和max 之间的成员
zrank key member 返回成员在集合中的排名
zrevrank key member 返回成员在集合中的排名