Redis 数据库之有序集合(zset)

有序集合(sortedset)

  • Sorted-Set 和 Set 类型极为相似,它们都是字符串的集合,都不允许重复的成员出现在一个 Set 中。它们之间的主要差别是 Sorted-Set 中的每一个成员都会有一个分数(score)与之关联,Redis 正是通过分数来为集合中的成员进行从小到达的排序。尽管 Sorted-Set 中的成员必须是唯一的,但是分数(score)却是可以重复的。

存储(zadd)

zadd key score1 member1 score2 member2 ...

  • 添加成员及成员分数到 key 中,如果该成员已经存在,则更新该成员的分数。
    这里写图片描述

获取分数(zscore)

zscore key member

  • 获得 member 的分数。
    这里写图片描述

获取集合数量(zcard)

zcard key

Redis 数据库之有序集合(zset)_第1张图片


删除(zrem)

zrem key member1 member2 ...

  • 删除一个或多个成员。
    Redis 数据库之有序集合(zset)_第2张图片

范围查询(zrange)

zrange key start end [withscores]

  • 获取索引从 start(包含) 到 end(包含) 的成员,end 可以是负数,-1 表示最后一个,-2 表示倒数第二个,以此类推。
  • [widthscores]指示返回的成员具有分数。
    Redis 数据库之有序集合(zset)_第3张图片

降序查询(zrevrange)

zrevrange key start end [withscore]

  • 查询 start 到 end 的成员并反转,实现降序查询。
    Redis 数据库之有序集合(zset)_第4张图片

按照排名范围删除(zremrangebyrank)

zremrangebyrank key start end

  • 删除集合中索引从 start(包含) 到 end(包含) 的元素。
    Redis 数据库之有序集合(zset)_第5张图片

按照分数删除(zremrangebyscore)

zremrangebyscore key minScore maxScore

  • 删除集合中分数从 minScore(包含) 到 maxScore(包含) 的元素。
    Redis 数据库之有序集合(zset)_第6张图片

根据分数范围查询(zrangebyscore)

zrangebyscore key minScore maxScore [withscore] [limit offset count]

  • 根据指定的分数范围查找成员,可以用 limit 指定显示记录的条数。
    Redis 数据库之有序集合(zset)_第7张图片

为指定成员增加分数(zincrby)

zincrby key increment member

  • 为指定的成员增加指定的分数,返回值是更新后的分数。
    Redis 数据库之有序集合(zset)_第8张图片

获取指定分数区间的成员数量(zcount)

zcount key minScore maxScore

  • 获得分数在 minScire(包含) 到 maxScore(包含) 的成员数量。
    Redis 数据库之有序集合(zset)_第9张图片

获取成员排名(zrank)(zrevrange)

zrank key member
zrevrank key member

  • 获取成员的升序或降序排名,排名从0开始计算。
    Redis 数据库之有序集合(zset)_第10张图片

你可能感兴趣的:(数据库)