zset类型数据操作命令


有序集合(zset)类型为集合中的每一个元素都关联了一个分数,这使得有序集合不仅可以完成插入、删除和判断元素是否存在等集合类型所支持的操作,还能够完成获取分数最高(或最低)的前N个元素、获取指定分数范围内的元素等与分数有关的操作。有序集合中的每个元素都是不同的,但是它们的分数可以相同。

有序集合适用于需要按照特定顺序访问的数据,如排行榜、时间线等。

zadd命令

将元素添加至有序集合中。

命令格式

  • zadd key score member [[score member] [score member] ...]

使用示例

1、zadd key score member [[score member] [score member] ...]:将一至多个元素member及分值score添加至有序集合中。

redis

zrange/zrevrange命令

查看集合指定下标区间的元素,zrange命令的集合元素按分值递增排序,zrevrange命令的集合元素按分值递减排序。

命令格式

  • zrange key start stop [withscores]
  • zrevrange key start stop [withscores]

命令详解

  • start stop:查看集合start至stop间的元素(包含start与stop)。元素下标从0开始,并可使用负数,−1表示倒数第一个,−2表示倒数第二个,依此类推。
  • withscores:可选项,查看元素时是否带有分值,默认不带分值。

使用示例

1、zrange key start stop [withscores]:查看集合下标从start到stop间的元素(集合按分值递增排序)。

redis

2、zrevrange key start stop [withscores]:查看集合下标从start到stop间的元素(集合按分值递减排序)。

redis

zrangebyscore/zrevrangebyscore命令

查看集合指定分值区间的元素,zrangebyscore命令的集合元素按分值递增排序,zrevrangebyscore命令的集合元素按分值递减排序。

命令格式

  • zrangebyscore key min max [withscores] [limit offset count]
  • zrevrangebyscore key max min [withscores] [limit offset count]

命令详解

  • min max:元素升序排列查看分值在min至max间的元素(包含min与max);max min:元素降序排列查看分值在max至min间的元素(包含max与min)。
    分值默认使用闭区间(包含min与max),若要使用开区间(不包含min与max),可在分值后使用圆括号,例如:10)20)表示大于10小于20。
  • withscores:可选项,查看元素时是否带有分值,默认不带分值。
  • limit offset count:可选项,跳过offset个元素,返回count个元素。

使用示例

1、zrangebyscore key min max [withscores] [limit offset count]:查看集合分值从min到max间的元素(集合按分值递增排序)。

1.1、zrangebyscore key min max:查看集合分值从min到max间的元素(集合按分值递减排序)。

redis

1.2、zrangebyscore key min max withscores:查看集合分值从min到max间的元素及分值(集合按分值递增排序)。

redis

2、zrevrangebyscore key max min [withscores] [limit offset count]:查看集合分值从max到min间的元素(集合按分值递减排序)。

2.1、zrevrangebyscore key max min withscores:查看集合分值从max到min间的元素及分值(集合按分值递减排序)。

redis

2.2、zrevrangebyscore key max min withscores limit offset count:查看集合分值从max到min间的count个元素及分值(集合按分值递减排序,且跳过前面offset个元素)。

redis

zcard命令

查看有序集合中的元素数量。

命令格式

  • zcard key

使用示例

1、zcard key:查看有序集合中的元素数量。

redis

zrank/zrevrank命令

查看元素在有序集合中的下标。

命令格式

  • zrank key member
  • zrevrank key member

使用示例

1、zrank key member:查看元素member在有序集合中的下标(集合元素按分值递增排序)。

redis

2、zrevrank key member:查看元素member在有序集合中的下标(集合元素按分值递减排序)。

redis

zscore命令

查看有序集合中的元素分值。

命令格式

  • zscore key member

使用示例

1、zscore key member:查看有序集合中的member元素的分值。

redis

zincrby命令

为有序集合中的元素增加分值。

命令格式

  • zincrby key increment member

使用示例

1、zincrby key increment member:为有序集合中的元素member增加分值increment。

redis

zcount命令

查看分值在指定区间的元素数量。

命令格式

  • zcount key min max

使用示例

1、zcount key min max:查看分值在min与max间的元素数量(包含min与max)。

redis

zrem命令

删除有序集合中的指定元素。

命令格式

  • zrem key member [member ...]

使用示例

1、zrem key member [member ...]:删除有序集合中的指定元素member。

redis

zremrangebyscore命令

删除有序集合中指定分值区间的元素。

命令格式

  • zremrangebyscore key min max

使用示例

1、zremrangebyscore key min max:删除有序集合中分值在min与max间的元素(包含min与max)。

redis

发表评论

评论数量:0