通过TairZset可实现任意维度的double类型的分值排序,适用于游戏、直播、音乐、电商等行业的排行榜场景,可极大提升数据处理效率,且客户端适配简易,无需任何编解码封装。

使用前提

TairZset介绍

原生Redis支持的排序结构Sorted Set(也称Zset)只支持1个double类型的分值排序,实现多维度排序时较为困难。例如通过IEEE 754结合拼接的方式实现多维度排序,此类方式存在实现复杂、精度下降、ZINCRBY命令无法使用等局限性。

借助阿里云自研的TairZset数据结构,可帮助您轻松实现多维度排序能力,相较于传统方案具有如下优势:
  • 支持任意维度的double类型的分值排序(排序优先级为从左往右)。
  • 支持ZINCRBY命令,不再需要取回当前数据,在本地增加值后再拼接写回Redis。
  • 支持和原生Zset类似的所有API。
  • 客户端适配简易,无需任何编解码封装。

典型场景

适用于游戏、直播、音乐、电商等行业的排行榜场景,例如:

  • 直播排行榜:直播PK中,主播之间先按照当前人气值排序;如果人气值相同,再按照点赞数排序;如果点赞数也相同,再按照礼物金额进行排序等。
  • 奖牌排行榜:从金、银、铜牌的维度对参赛方进行排名,先按照金牌数量排序;如果金牌数量一致,再以银牌数量排序;如果银牌数量也一致,再按照铜牌数量排序。
  • 游戏排行榜:玩家之间按照得分、任务完成时长、段位等多个维度进行排名。

命令列表

命令 语法 说明
EXZADD EXZADD key [NX|XX] [CH] [INCR] score member [score member ...] 将指定的分数与成员信息存储到TairZset结构的Key中,支持指定多个分数与成员。
说明 如需实现多维度的排序,各维度的分数之间使用井号(#)分隔,例如111#222#121,且要求该Key中所有成员的分数格式必须相同。
EXZINCRBY EXZINCRBY key increment member 为Key(TairZset数据结构)中的成员增加分数,increment为要增加的分数值。
EXZSCORE EXZSCORE key member 返回存储在Key(TairZset数据结构)中成员的分数,如果Key或Key中的成员不存在,系统会返回nil。
EXZRANGE EXZRANGE <key> <min> <max> [WITHSCORES] 返回存储在Key(TairZset数据结构)中指定范围的元素。
EXZREVRANGE EXZREVRANGE <key> <min> <max> [WITHSCORES] 返回存储在Key(TairZset数据结构)中指定范围内的元素,元素按分值从高到低的顺序排列,按字典序降序排列分数相同的元素。
说明 除排序方式相反外,本命令和EXZRANGE用法相似。
EXZRANGEBYSCORE EXZRANGEBYSCORE <key> <min> <max> [WITHSCORES] [LIMIT offset count] 返回存储在Key(TairZset数据结构)中,分数大于等于min且小于等于max值的所有元素,返回元素按分数从低到高排列,分数相同的元素按照字典顺序返回。
EXZREVRANGEBYSCORE EXZREVRANGEBYSCORE <key> <max> <min> [WITHSCORES] [LIMIT offset count] 返回存储在Key(TairZset数据结构)中,分数大于等于min且小于等于max值的所有元素。和TairZset中元素默认排序相反,该命令返回元素按照分数从高到低排列,分数相同的元素按照逆字典序排列。
说明 除排序方式相反外,本命令和EXZRANGEBYSCORE用法相似,注意本命令中max在前。
EXZRANGEBYLEX EXZRANGEBYLEX <key> <min> <max> [LIMIT offset count] 为确保元素按照字典序排列,当Key中所有元素分数相同时,则该命令返回存储在Key中介于minmax值之间的元素。
EXZREVRANGEBYLEX EXZREVRANGEBYLEX <key> <max> <min> [LIMIT offset count] 为确保元素按照字典序排列,当Key中所有元素分数相同时,则该命令返回存储在Key中介于max和min之间的元素。
说明 除排序方式相反外,本命令和EXZRANGEBYLEX用法相同,注意本命令中max在前。
EXZREM EXZREM key member [member ...] 移除存储Key中的指定成员,如果指定成员不存在,则忽略。
EXZREMRANGEBYSCORE EXZREMRANGEBYSCORE key min max 移除存储在在Key(TairZset数据结构)中,分数大于等于min且小于等于max值的元素。
EXZREMRANGEBYRANK EXZREMRANGEBYRANK key start stop 移除存储在Key(TairZset数据结构)中,级别介于startstop之间的元素。
EXZREMRANGEBYLEX EXZREMRANGEBYLEX key min max 为确保元素按照字典序排列,当Key中所有元素分数相同时,则该命令移除存储在Key中介于max和min之间的元素。
说明 若使用相同的minmax参数值执行该命令和EXZRANGEBYLEX命令,则该命令移除的元素与EXZRANGEBYLEX命令返回的元素相同。
EXZCARD EXZCARD key 返回存储在Key(TairZset数据结构)中的基数(即元素的个数)。
EXZRANK EXZRANK key member 返回存储在Key(TairZset数据结构)中的成员的级别,按照分数由低到高排列。 级别(或索引)从0开始计数,即分数最低的成员的级别为0。
EXZREVRANK EXZREVRANK key member 返回存储在Key(TairZset数据结构)中的成员的级别。返回结果按照分数从高到低排列。 级别(或索引)从0开始计数,即分数最高的成员的级别为0。
说明 除排序规则相反外,本命令和EXZRANK用法类似。
EXZCOUNT EXZCOUNT key min max 返回存储在Key(TairZset数据结构)中,分数介于minmax之间的元素的个数。
EXZLEXCOUNT EXZLEXCOUNT key min max 为确保元素按照字典序排列,若Key中所有元素分数相同,则该命令返回存储在Key,值介于min和max之间的元素的数量。
EXZRANKBYSCORE EXZRANKBYSCORE key score
计算指定的分数在Key(TairZset数据结构)中的排名位置。
说明 若指定的分数在Key(TairZset数据结构)中不存在对应的元素,将返回该分数在Key(TairZset数据结构)中的排名。

EXZADD

类别 说明
语法 EXZADD key [NX|XX] [CH] [INCR] score member [score member ...]
时间复杂度 O(N)
命令描述 将指定的分数与成员信息存储到TairZset结构的Key中,支持指定多个分数与成员,系统会根据Key和成员是否存在,执行不同的策略:
说明 如需实现多维度的排序,各维度的分数之间使用井号(#)分隔,例如111#222#121,且要求该Key中所有成员的分数格式必须相同。
  • 如果指定的Key存在,但其数据结构不是TairZset,系统将返回错误。
  • 如果指定的Key不存在,系统将创建一个TairZset结构的Key,然后将指定的成员添加至该Key中。
  • 如果指定的成员已经是TairZset的成员,则会更新该成员的分数,并将该成员重新插入到正确的位置,避免打乱排序。
  • 每个分数值使用双精度浮点数的字符串表示,+inf和-inf值都是有效值。
选项
  • NX:只添加新元素,不更新已经存在的元素。
  • XX:只更新已经存在的元素,不添加新的元素。
  • CH:一般情况下,本命令的返回值为添加的新元素数量,通过该参数可以将返回值改为发生变化的元素总数。
    说明 发生变化的元素包含新元素和分数有更新的已有元素。 因此,如果命令行中已存在的一个元素的分数没有发生变化,则该元素不算作发生变化的元素。
  • INCR:指定此选项时,EXZADD的行为与EXZINCRBY类似,即该模式下仅支持指定一对分数与元素。
返回值 返回值为整数数字,具体为:
  • 未指定任何选项时,返回值为添加到Key中的元素数量(不包括仅更新分数的元素)。
  • 指定了CH选项时,返回值为发生变化的(新增或更新)元素数量。
  • 指定了INCR选项时,则返回值为成员的新分数(字符串形式)。如果使用了多维度分数,则该成员分数的格式为格式为“分数1#分数2#分数3#...”,例如2#0#6
    说明 如果停止该操作(命令中包含XX或NX选项),则返回nil。
示例
命令示例:
EXZADD testkey NX 1#0#3 a 1#0#2 b
返回示例:
(integer) 2

EXZINCRBY

类别 说明
语法 EXZINCRBY key increment member
时间复杂度 O(log(N))
命令描述 为Key(TairZset数据结构)中的成员增加分数,increment为要增加的分数值,系统会根据Key和成员是否存在,执行不同的策略:
  • 如果指定的Key存在,但其数据结构不是TairZset,系统将返回错误。
  • 如果指定的Key不存在,系统将创建一个TairZset结构的Key,然后将指定的成员作为该Key的唯一成员。
  • 如果指定的Key没有成员,系统将向其中添加一个分数为increment参数值的成员,即假设成员原分数为0.0分。
说明
  • 如需实现多维度的排序,各维度的分数之间使用井号(#)分隔,例如111#222#121,且要求该Key中所有成员的分数格式必须相同。
  • 分数值应为数字值的字符串形式,可以为双精度浮点数。 如果需要降低成员的分数,则指定一个负数。
选项
返回值 返回成员的新分数(字符串形式),如果使用了多维度分数,则该成员分数的格式为格式为“分数1#分数2#分数3#...”,例如2#0#6
示例

命令示例:

EXZINCRBY testkey 2#2#1 a

返回示例:

"3#2#4"

EXZSCORE

类别 说明
语法 EXZSCORE key member
时间复杂度 O(1)
命令描述 返回存储在Key(TairZset数据结构)中成员的分数,如果Key或Key中的成员不存在,系统会返回nil。
选项
返回值 返回成员的分数(字符串形式),如果使用了多维度分数,则该成员分数的格式为格式为“分数1#分数2#分数3#...”,例如2#0#6
示例

命令示例:

EXZSCORE testkey a

返回示例:

"3#2#4"

EXZRANGE

类别 说明
语法 EXZRANGE <key> <min> <max> [WITHSCORES]
时间复杂度 O(log(N)+M),其中,N表示TairZset中元素的数量,M表示返回的元素的数量。
命令描述 返回存储在Key(TairZset数据结构)中指定范围的元素。
选项
  • minmax:代表基于0的索引值。其中,第一个元素的索引值为0,第二个元素的索引值为1,依此类推。 可使用这两个参数指定一个闭区间。
    说明
    • 如果索引值为负数,则表示返回的元素末尾往前偏移的量。比如,-1代表Key的最后一个元素,-2代表倒数第二个元素,依此类推。
    • 如需查询所有的元素信息,min取值为0,max取值为-1。
    • 如果min的值比Key中最后一个元素的索引值或max的值更大,则返回空列表。
  • WITHSCORES:返回值中包含元素的分数,即返回列表的数据格式为值1,分数1,...,值N,分数N,例如:
    1) "b"
    2) "1#0#2"
    3) "a"
    4) "3#2#4"
返回值 返回指定范围内元素的列表,如果使用了WITHSCORES选项,则返回结果中包含元素的分数。
示例

命令示例:

EXZRANGE testkey 0 -1 WITHSCORES

返回示例:

1) "b"
2) "1#0#2"
3) "a"
4) "3#2#4"

EXZREVRANGE

类别 说明
语法 EXZREVRANGE <key> <min> <max> [WITHSCORES]
时间复杂度 O(log(N)+M),其中,N表示TairZset中元素的数量,M表示返回的元素的数量。
命令描述 返回存储在Key(TairZset数据结构)中指定范围内的元素,元素按分值从高到低的顺序排列,按字典序降序排列分数相同的元素。
说明 除排序方式相反外,本命令和EXZRANGE用法相似。
选项
  • minmax:代表基于0的索引值。其中,第一个元素的索引值为0,第二个元素的索引值为1,依此类推。 可使用这两个参数指定一个闭区间。
    说明
    • 如果索引值为负数,则表示返回的元素末尾往前偏移的量。比如,-1代表Key的最后一个元素,-2代表倒数第二个元素,依此类推。
    • 如需查询所有的元素信息,min取值为0,max取值为-1。
    • 如果min的值比Key中最后一个元素的索引值或max的值更大,则返回空列表。
  • WITHSCORES:返回值中包含元素的分数,即返回列表的数据格式为值1,分数1,...,值N,分数N,例如:
    1) "b"
    2) "1#0#2"
    3) "a"
    4) "3#2#4"
返回值

返回指定范围内的元素列表,如果使用了WITHSCORES选项,则返回结果中包含元素的分数。

示例

命令示例:

EXZREVRANGE testkey 0 -1 WITHSCORES

返回示例:

1) "a"
2) "3#2#4"
3) "b"
4) "1#0#2"

EXZRANGEBYSCORE

类别 说明
语法 EXZRANGEBYSCORE <key> <min> <max> [WITHSCORES] [LIMIT offset count]
时间复杂度 O(log(N)+M),其中,N表示TairZset中元素的数量,M表示返回的元素的数量。
说明 当M为常量时(例如使用LIMIT选项指定总是返回前10个元素时),可将该公式看作O(log(N))。
命令描述 返回存储在Key(TairZset数据结构)中,分数大于等于min且小于等于max值的所有元素,返回元素按分数从低到高排列,分数相同的元素按照字典顺序返回。
选项
  • minmax:分别表示最小分数和最大分数,如Key中的元素采用了多维度的分数,各维度的分数之间使用井号(#)分隔。
    说明
    • 在不确定Key中元素的最高分和最低分的情况下,如果想要查询Key中分数大于等于或小于等于某一特定值的元素,请将minmax分别设置为负无穷大(-inf)和正无穷大(+inf)。
    • 默认数据范围为闭区间,如需指定开区间,则在分数范围前添加半角圆括号,例如(1 5表示返回分数大于1且小于等于5的元素。
  • WITHSCORES:返回值中包含元素的分数。
  • LIMIT offset count:指定返回结果的数量及区间,如果count为负数,则返回从offset开始的所有元素。
    说明 如果offset较大,则需要遍历整个Key以定位到offset元素,然后才能返回元素,即会增加时间复杂度。
返回值

返回指定分数范围内的元素列表,如果使用了WITHSCORES选项,则返回结果中包含元素的分数。

命令示例

命令示例:

EXZRANGEBYSCORE testkey 0#0#0 6#6#6 WITHSCORES

返回示例:

1) "b"
2) "1#0#2"
3) "a"
4) "3#2#4"

EXZREVRANGEBYSCORE

类别 说明
语法 EXZREVRANGEBYSCORE <key> <max> <min> [WITHSCORES] [LIMIT offset count]
时间复杂度 O(log(N)+M) ,其中,N表示TairZset中元素的数量,M表示返回的元素的数量。
说明 当M为常量时(比如使用LIMIT选项指定总是返回前10个元素时),可将该公式看作O(log(N))。
命令描述 返回存储在Key(TairZset数据结构)中,分数大于等于min且小于等于max值的所有元素。和TairZset中元素默认排序相反,该命令返回元素按照分数从高到低排列,分数相同的元素按照逆字典序排列。
说明 除排序方式相反以外,本命令和EXZRANGEBYSCORE用法相似,注意本命令中max在前。
选项
  • minmax:分别表示最小分数和最大分数,如Key中的元素采用了多维度的分数,各维度的分数之间使用井号(#)分隔。
    说明
    • 在不确定Key中元素的最高分和最低分的情况下,如果想要查询Key中分数大于等于或小于等于某一特定值的元素,请将minmax分别设置为负无穷大(-inf)和正无穷大(+inf)。
    • 默认数据范围为闭区间,如需指定开区间,则在分数范围前添加半角圆括号,例如(1 5表示返回分数大于1且小于等于5的元素。
  • WITHSCORES:返回值中包含元素的分数。
  • LIMIT offset count:指定返回结果的数量及区间,如果count为负数,则返回从offset开始的所有元素。
    说明 如果offset较大,则需要遍历整个Key以定位到offset元素,然后才能返回元素,即会增加时间复杂度。
返回值

返回指定分数范围内的元素列表,如果使用了WITHSCORES选项,则返回结果中包含元素的分数。

命令示例

命令示例:

EXZREVRANGEBYSCORE testkey 6#6#6 0#0#0

返回示例:

1) "a"
2) "3#2#4"
3) "b"
4) "1#0#2"

EXZRANGEBYLEX

类别 说明
语法 EXZRANGEBYLEX <key> <min> <max> [LIMIT offset count]
时间复杂度 O(log(N)+M),其中,N表示TairZset中元素的数量,M表示返回的元素的数量。
说明 当M为常量时(例如使用LIMIT选项指定返回前10个元素时),可将该公式看作O(log(N))。
命令描述 为确保元素按照字典序排列,当Key中所有元素分数相同时,则该命令返回存储在Key中介于minmax值之间的元素。
说明
  • 如果Key中元素分数不同,则返回元素未知。
  • 采用memcmp() C函数逐个比对两个元素字符串中的字节。根据比对结果,由低到高排列元素。 若两个字符串包含相同的子字符串,那么字符串越长,其分值越高。
选项
  • minmax:分别表示成员名称的最小值和最大值(字符串形式),需指定字符的区间,例如
    • 开区间:在值的前面增加半角圆括号,例如(a
    • 闭区间:在值的前面增加方括号,例如[a
    说明 正负无穷大分别为+-
  • LIMIT offset count:指定返回结果的数量及区间,如果count为负数,则返回从offset开始的所有元素。
    说明 如果offset较大,则需要遍历整个Key以定位到offset元素,然后才能返回元素,即会增加时间复杂度。
返回值 返回元素名称在指定范围内的元素列表。
命令示例

命令示例:

EXZRANGEBYLEX zzz [a [b

返回示例:

1) "aba"
2) "abc"

EXZREVRANGEBYLEX

类别 说明
语法 EXZREVRANGEBYLEX <key> <max> <min> [LIMIT offset count]
时间复杂度 O(log(N)+M),其中,N表示TairZset中元素的数量,M表示返回的元素的数量。
说明 当M为常量时(例如使用LIMIT选项指定总是返回前10个元素时),可将该公式看作O(log(N))。
命令描述 为确保元素按照字典序排列,当Key中所有元素分数相同时,则该命令返回存储在Key中介于max和min之间的元素。
说明 除排序方式相反外,本命令和EXZRANGEBYLEX用法相同,注意本命令中max在前。
选项
  • minmax:分别表示成员名称的最小值和最大值(字符串形式),需指定字符的区间,例如
    • 开区间:在值的前面增加半角圆括号,例如(a
    • 闭区间:在值的前面增加方括号,例如[a
    说明 正负无穷大分别为+-
  • LIMIT offset count:指定返回结果的数量及区间,如果count为负数,则返回从offset开始的所有元素。
    说明 如果offset较大,则需要遍历整个Key以定位到offset元素,然后才能返回元素,即会增加时间复杂度。
返回值 返回元素名称在指定范围内的元素列表。
命令示例

命令示例:

EXZREVRANGEBYLEX zzz [b [a

返回示例:

1) "abc"
2) "aba"

EXZREM

类别 说明
语法 EXZREM key member [member ...]
时间复杂度 O(M*log(N)),其中,N为TairZset中元素的数量,M为待移除的元素的数量。
命令描述 移除存储Key中的指定成员,如果指定成员不存在,则忽略。
说明 如果指定的Key存在,但其数据结构不是TairZset,系统将返回错误。
选项
返回值 返回Key中被移除的成员数量,不包含不存在的成员。
命令示例

命令示例:

EXZREM testkey a

返回示例:

(integer) 1

EXZREMRANGEBYSCORE

类别 说明
语法 EXZREMRANGEBYSCORE key min max
时间复杂度 O(log(N)+M),其中,N为TairZset中元素的数量,M为待移除的元素的数量。
命令描述 移除存储在在Key(TairZset数据结构)中,分数大于等于min且小于等于max值的元素。
选项 minmax分别表示最小分数和最大分数,如Key中的元素采用了多维度的分数,各维度的分数之间使用井号(#)分隔。
说明
  • 在不确定Key中元素的最高分和最低分的情况下,如果想要移除Key中分数大于等于或小于等于某一特定值的元素,请将minmax分别设置为负无穷大(-inf)和正无穷大(+inf)。
  • 默认数据范围为闭区间,如需指定开区间,则在分数范围前添加半角圆括号,例如EXZREMRANGEBYSCORE (1 5表示删除分数大于1且小于等于5的元素。
返回值 返回被移除的元素的数量。
命令示例

命令示例:

EXZREMRANGEBYSCORE testkey 3#2#4 6#6#6

返回示例:

(integer) 1

EXZREMRANGEBYRANK

类别 说明
语法 EXZREMRANGEBYRANK key start stop
时间复杂度 O(log(N)+M),其中,N为TairZset中元素的数量,M为该操作移除的元素的数量。
命令描述 移除存储在Key(TairZset数据结构)中,级别介于startstop之间的元素。
选项 startstop均为基于零的索引值,其中,0代表分数最低的元素。 当索引值为负数,代表从最高分数元素开始的偏移量,例如-1为分数最高的元素,-2为分数第二高的元素,依此类推。
返回值 被移除的元素的数量。
命令示例

命令示例:

EXZREMRANGEBYRANK testkey 0 1

返回示例:

(integer) 1

EXZREMRANGEBYLEX

类别 说明
语法 EXZREMRANGEBYLEX key min max
时间复杂度 O(log(N)+M),其中,N为TairZset中元素的数量,M为该操作移除的元素的数量。
命令描述 为确保元素按照字典序排列,当Key中所有元素分数相同时,则该命令移除存储在Key中介于max和min之间的元素。
说明 若使用相同的minmax参数值执行该命令和EXZRANGEBYLEX命令,则该命令移除的元素与EXZRANGEBYLEX命令返回的元素相同。
选项 minmax:分别表示成员名称的最小值和最大值(字符串形式),需指定字符的区间,例如
  • 开区间:在值的前面增加半角圆括号,例如(a
  • 闭区间:在值的前面增加方括号,例如[a
返回值 被移除的元素的数量。
命令示例

命令示例:

EXZREMRANGEBYLEX [a [b

返回示例:

(integer) 2

EXZCARD

类别 说明
语法 EXZCARD key
时间复杂度 O(1)
命令描述 返回存储在Key(TairZset数据结构)中的基数(即元素的个数)。
选项
返回值 返回Key中的元素的数量,如果Key不存在,则返回0。
命令示例

命令示例:

EXZCARD testkey

返回示例:

(integer) 2

EXZRANK

类别 说明
语法 EXZRANK key member
时间复杂度 O(log(N))
命令描述 返回存储在Key(TairZset数据结构)中的成员的级别,按照分数由低到高排列。 级别(或索引)从0开始计数,即分数最低的成员的级别为0。
选项
返回值
  • 当Key中存在指定的成员,则返回成员的级别(整数)。
  • 当Key或Key中的成员不存在,则返回nil。
命令示例

命令示例:

EXZRANK testkey b

返回示例:

(integer) 0

EXZREVRANK

类别 说明
语法 EXZREVRANK key member
时间复杂度 O(log(N))
命令描述 返回存储在Key(TairZset数据结构)中的成员的级别。返回结果按照分数从高到低排列。 级别(或索引)从0开始计数,即分数最高的成员的级别为0。
说明 除排序规则相反外,本命令和EXZRANK用法类似。
选项
返回值
  • 当Key中存在指定的成员,则返回成员的级别(整数)。
  • 当Key或Key中的成员不存在,则返回nil。
命令示例

命令示例:

EXZREVRANK testkey b

返回示例:

(integer) 1

EXZCOUNT

类别 说明
语法 EXZCOUNT key min max
时间复杂度 O(log(N)),其中,N为TairZset中元素的数量。
说明 由于采用了元素级别获取查询范围,该操作涉及的工作量和查询范围的大小即不成正比。
命令描述 返回存储在Key(TairZset数据结构)中,分数介于minmax之间的元素的个数。
选项 minmax:分别表示最小分数和最大分数,如Key中的元素采用了多维度的分数,各维度的分数之间使用井号(#)分隔。
说明
  • 在不确定Key中元素的最高分和最低分的情况下,如果想要查询Key中分数大于等于或小于等于某一特定值的元素,请将minmax分别设置为负无穷大和正无穷大。
  • 默认数据范围为闭区间,如需指定开区间,则在分数范围前添加半角圆括号,例如(1 5表示返回分数大于1且小于等于5的元素。
返回值 返回分数在指定范围内的元素的数量(整数)。
命令示例

命令示例:

EXZCOUNT testkey (1#0#2 6#6#6

返回示例:

(integer) 1

EXZLEXCOUNT

类别 说明
语法 EXZLEXCOUNT key min max
时间复杂度 O(log(N)),其中,N为TairZset中元素的数量。
说明 由于采用了元素级别获取查询范围,该操作涉及的工作量和查询范围的大小即不成正比。
命令描述 为确保元素按照字典序排列,若Key中所有元素分数相同,则该命令返回存储在Key,值介于min和max之间的元素的数量。
说明
  • 如果Key中元素分数不同,则返回元素未知。
  • 采用memcmp() C函数逐个比对两个元素字符串中的字节。根据比对结果,由低到高排列元素。 若两个字符串包含相同的子字符串,那么字符串越长,其分值越高。
选项 minmax:分别表示成员名称的最小值和最大值(字符串形式),需指定字符的区间,例如
  • 开区间:在值的前面增加半角圆括号,例如(a
  • 闭区间:在值的前面增加方括号,例如[a
返回值 返回分数在指定范围内的元素的个数(整数)。
命令示例

命令示例:

EXZLEXCOUNT zzz [a [b

返回示例:

(integer) 2

EXZRANKBYSCORE

类别 说明
语法 EXZRANKBYSCORE key score
时间复杂度 O(log(N))
命令描述
计算指定的分数在Key(TairZset数据结构)中的排名位置。
说明 若指定的分数在Key(TairZset数据结构)中不存在对应的元素,将返回该分数在Key(TairZset数据结构)中的排名。
选项
返回值 返回指定分数在Key中的排名,级别(或索引)从0开始计数,即分数最低的成员的级别为0。
命令示例

命令示例:

EXZRANKBYSCORE testkey 2#0#2 

返回示例:

(integer) 1