Redis ZRANGEBYLEX查询为相同数量的字符数返回不同的结果
我创造了这样的场景Redis ZRANGEBYLEX查询为相同数量的字符数返回不同的结果,redis,lexical,Redis,Lexical,我创造了这样的场景 ZADD myzset 0 baba 0 abab 0 aabb 0 bbaa 0 baab 0 abba 当我使用“aa”和“bb”关键字查询类似的结果时 用于“aa” ZRANGEBYLEX myzset“[aa”+ 1) “aabb” 2) “abab” 3) “阿巴” 4) “巴布” 5) “爸爸” 6) “bbaa” 用于“bb” ZRANGEBYLEX myzset“[bb”+ 1) “bbaa” 为什么“bb”只返回1而“aa”返回6 ZRANGEBYLEX m
ZADD myzset 0 baba 0 abab 0 aabb 0 bbaa 0 baab 0 abba
当我使用“aa”和“bb”关键字查询类似的结果时
用于“aa”
ZRANGEBYLEX myzset“[aa”+
1) “aabb”
2) “abab”
3) “阿巴”
4) “巴布”
5) “爸爸”
6) “bbaa”
用于“bb”
ZRANGEBYLEX myzset“[bb”+
1) “bbaa”
为什么“bb”只返回1而“aa”返回6
ZRANGEBYLEX myindex“[香蕉:”+限制1 10
1) “香蕉:123”
2) “banahhh:1”
3) “被禁止用户:49”
4) “禁止:89”
另一个来自redis站点()
如何才能2)“banahhh:1”
这列为第二个。它不能显示在结果中,或者我遗漏了什么
ZRANGEBYLEX myindex“[香蕉:”+限制1 10
1) “香蕉:123”
2) “banahhh:1”
3) “被禁止用户:49”
4) “禁止:89”
注意:我注意到它对添加的项目进行排序,并根据排序后的索引返回。我不知道这是因为排序集中的元素具有相同的分数,并且您使用ZRANGEBYLEX命令。正如redis文档所述: 由于每个元素都是唯一的,因此同一元素不能在排序集中重复,但可以添加多个具有相同分数的不同元素。当多个元素具有相同分数时,它们按字典顺序排列。(它们仍然以分数作为第一个键进行排序,但是,在本地,具有相同分数的所有元素都是相对按字典顺序排列的) 使用ZRANGEBYLEX命令,它只是比较字符串和相同分数的限制 如果排序集中的元素具有不同的分数,则返回的元素未指定 因此,如果您的排序集具有不同的分数,则该操作未指定 如果使用ZRANGE命令,它将首先比较分数,然后比较具有相同分数的字符串
请参阅api文档以获取更多信息,从redis站点(
ZRANGEBYLEX myindex“[banana:+LIMIT 1 10 1)”香蕉:123“2”banahhh:1“3)”禁止用户:49“4”禁止:89“
这怎么可能是第二个2)“banahhh:1”
结果中不能显示它,或者我遗漏了什么我在这个网站上没有看到,他们的分数是一样的吗?它只是按lex顺序列出的:bananah作为词法顺序,当我在这里尝试(),banah
not listedeh,那么也许这是个错误,你应该相信你的尝试