我正试图制作一个简单的自动完成系统,就像这里的演示一样:http://autocomplete.redis.io/,但由于某些原因,我无法使ZRANGEBYLEX
返回正确的结果。以下是我在Redis CLI上执行的操作:
> zadd autocomplete 0 one 0 two 0 three 0 four 0 five 0 six 0 seven 0 eight 0 nine 0 ten 0 eleven 0 twelve 0 thirteen 0 fourteen 0 fifteen
我的套装看起来很不错:
> zrangebylex autocomplete - +
1) "eight"
2) "eleven"
3) "fifteen"
4) "five"
5) "four"
6) "fourteen"
7) "nine"
8) "one"
9) "seven"
10) "six"
11) "ten"
12) "thirteen"
13) "three"
14) "twelve"
15) "two"
如果我像这样使用ZRANGEBYLEX
,那么结果就有意义:
zrangebylex autocomplete [e [eight
1) "eight"
但是,如果我想获取集合中所有以 "e" 开头的项目,我尝试了这个(与自动完成演示非常相似),但它没有返回正确的结果:
但是,如果我想要获取所有以 "e" 开头的集合项,我会尝试这样做(与自动补全演示非常相似),但它没有返回正确的结果:
> zrangebylex autocomplete [e [e(0xff)
(empty list or set)
使用什么参数才能使ZRANGEBYLEX
命令匹配以"e"开头的任何字符串和随后的任何内容?
\xff
的意思是什么?我不理解。 - BlackMamba