Redis可以做前缀匹配吗?

时间:2012-02-19 09:43:33

标签: redis

让我们说世界上有一套城市就像这样:

EUKLOND
EUKMANC
EUKEDIN
EITROME
EITMILA
EITNAPE
EFRPARI
EFRAVIG
EFRBRES

如果第一个字母是大陆,则下两个是国家,后面的4是缩写的城市名称。

我希望能够通过传入“E”来搜索此集合,这将返回所有条目或EIT并检索意大利或EFRPARI的所有条目并获得巴黎条目。

这是我可以用Redis做的事吗?

1 个答案:

答案 0 :(得分:13)

通常,它是自动完成方案。

Redis的作者

Salvatore Sanfilippo (@Antirez)写了一篇关于如何实现这一目标的thorough blog post

更新:我刚刚看到了另一个伟大的blog post,它首先采用了Salvatore的解决方案,并以清晰的方式解释了它,第二个提供了另一个对多词短语也很好的解决方案