为什么我不能在redis中的这个排序集上使用ZRANGEBYLEX?
在redis文档中,有一个为什么我不能在redis中的这个排序集上使用ZRANGEBYLEX?,redis,Redis,在redis文档中,有一个ZRANGEBYLEX ZADD myindex 0 0056:0028.44:90 ZADD myindex 0 0034:0011.00:832 ZRANGEBYLEX myindex [0056:0010.00 [0056:0030.00 1) "0056:0028.44:90" 这很简单 但是,如果我想对下面的示例应用相同的技术 127.0.0.1:6379> zadd feedbacks 1 feedback1 2 feedback2 3 feedba
ZRANGEBYLEX
ZADD myindex 0 0056:0028.44:90
ZADD myindex 0 0034:0011.00:832
ZRANGEBYLEX myindex [0056:0010.00 [0056:0030.00
1) "0056:0028.44:90"
这很简单
但是,如果我想对下面的示例应用相同的技术
127.0.0.1:6379> zadd feedbacks 1 feedback1 2 feedback2 3 feedback3 1 feedback4
(integer) 4
127.0.0.1:6379> ZRANGEBYLEX feedbacks [feed [feed
(empty list or set)
我有一套空的
我希望看到这四个值(feedback1
到feedback4
)
为什么对我的测试样本
ZRANGEBYLEX
失败?失败是因为他们的分数不同。ZRANGEBYLEX仅适用于相同的分数子集
看
当排序集中的所有元素都以相同的格式插入时
评分,为了强制进行词典排序,此命令
返回排序集at key中的所有元素,其值介于
最小值和最大值
如果排序集中的元素具有不同的分数,则返回的
元素未指定
排序集具有在相同分数子集内按字典顺序排序的特性。这给了他们第二个用例,一个按字典顺序排序的集合,但在本例中,您添加了具有相同分数的所有元素
因此,您必须选择如何使用排序集:
- 按分数排序(对于可预测的顺序,按相同分数排序)
- 按字典顺序排序,所有元素的分数相同
你不能两者兼得。然后您需要两个排序集。我在集合中有分配了相同分数的字符串,即1。不过,我得到的结果是一个空数组<代码>['Einflüssen','1','Jüpëtër','1','Mǟrs','1','Sǟtürn','1','Versalhöhe','1','VënüS','1','st ren 1','Ëarth',1']我使用的命令是,
zrangebylex search[Ei Ein从您提供的字符串中,没有一个在[Ei中[Ein
好的。我对zrangebylex
中的最小和最大范围有点困惑。我用zrangebylex搜索[Ei[Einflüssen
尝试了它,它成功了。但是,如果我想让所有至少匹配[Ein
的字符串出现在我的结果中,那么最大范围应该是什么?你能建议一下吗?你马上做(字节/字符码),排他,结尾:(Eio