redis 操作zset 有序集合常用命令

枕上从妨一夜睡,灯前读尽十年诗。这篇文章主要讲述redis 操作zset 有序集合常用命令相关的知识,希望能为你提供帮助。
有序集合类型(Zset)Redis 有序集合zset和集合set一样也是string类型元素的集合,且不允许重复的成员。
不同的是zset的每个元素都会关联一个分数(分数可以重复),redis通过分数来为集合中的成员进行从小到大的排序。
zadd
语法:zadd key [NX|XX] [CH] [INCR] score member [score member…]
ZADD 参数(options) (> = Redis 3.0.2)
ZADD 命令在key后面分数/成员(score/member)对前面支持一些参数,他们是:
XX: 仅仅更新存在的成员,不添加新成员。
NX: 不更新存在的成员。只添加新成员。
CH: 修改返回值为发生变化的成员总数,原始是返回新添加成员的总数 (CH 是 changed 的意 思)。
更改的元素是新添加的成员,已经存在的成员更新分数。 所以在命令中指定的成员有相同的分 数将不被计算在内。
注:在通常情况下,ZADD返回值只计算新添加成员的数量。
INCR: 当ZADD指定这个选项时,成员的操作就等同ZINCRBY命令,对成员的分数进行递增操作。




zincrby
语法:ZINCRBY key increment member
作用:对有序集合中指定成员的分数加上增量 increment
可以通过传递一个负数值 increment ,让分数减去相应的值,比如 ZINCRBY key -5 member ,就是让 member 的 score 值减去 5 。
当 key 不存在,或分数不是 key 的成员时, ZINCRBY key increment member 等同于 ZADD key increment member 。
分数值可以是整数值或双精度浮点数。





zrange
语法:zrange key startIndex endIndex [WITHSCORES]
功能:查询有序集合,指定区间的内的元素。集合成员按score值从小到大来排序;startIndex和endIndex都是从0开始表示第一个元素,1表示第二个元素,以此类推; startIndex和endIndex都可以取负数,表示从后往前取,-1表示倒数第一个元素;WITHSCORES选项让score和value一同返回。
返回值:指定区间的成员组成的集合。


zrangebyscore
语法:zrangebyscore key min max [WITHSCORES ]  [LIMIT offset count]
功能:获取有序集  key 中,所有  score 值介于  min 和  max 之间(包括min和max)的成员,有序成员是按递增(从小到大)排序;
    使用符号”(“ 表示包括min但不包括max;
    withscores 显示score和 value;
            limit用来限制返回结果的数量和区间,在结果集中从第offset个开始,取count个。
返回值:指定区间的集合数据


zrevrange
语法:zrevrange key startIndex  endIndex  [WITHSCORES]
功能:查询有序集合,指定区间的内的元素。集合成员按score值从大到小来排序;startIndex和endIndex都是从0开始表示第一个元素,1表示第二个元素,以此类推; startIndex和endIndex都可以取负数,表示从后往前取,-1表示倒数第一个元素;WITHSCORES选项让score和value一同返回。
返回值:指定区间的成员组成的集合。


zrevrangebyscore
语法:zrevrangebyscore key max min   [WITHSCORES ]  [LIMIT offset count]
功能:获取有序集  key 中,所有  score 值介于  max  和  min  之间(包括max和min)的成员,有序成员是按递减(从大到小)排序;
    使用符号”(“ 表示不包括min和max;
    withscores 显示score和 value;
            limit用来限制返回结果的数量和区间,在结果集中从第offset个开始,取count个。
【redis 操作zset 有序集合常用命令】返回值:指定区间的集合数据


zrem
语法:zrem key member [member…]
功能:删除有序集合  key 中的一个或多个成员,不存在的成员被忽略。
返回值:被成功删除的成员数量,不包括被忽略的成员。


zcard
语法:zcard key
作用:获取有序集  key 的元素成员的个数。
返回值:key存在,返回集合元素的个数; key不存在,返回0。



zcount
语法:zcount key min max
功能:返回有序集  key  中,  score  值在  min  和  max  之间(包括  score  值等于  min  或  max  )的成员的数量。
返回值:指定有序集合中分数在指定区间内的元素数量。



zrank
语法:zrank key member
功能:获取有序集  key 中成员  member 的排名,有序集成员按  score 值从小到大顺序排列,从0开始排名,score最小的是0 。
返回值:指定元素在有序集合中的排名;如果指定元素不存在,返回nil。


zrevrank
语法:zrevrank key member
功能:获取有序集  key 中成员  member 的排名,有序集成员按  score 值从大到小顺序排列,从0开始排名,score最大的是0 。
返回值:指定元素在有序集合中的排名;如果指定元素不存在,返回nil。



zscore
语法:zscore key member
功能:获取有序集合key中元素member的分数。
返回值:返回指定有序集合元素的分数。






    推荐阅读