String 如何在Redis中搜索?

String 如何在Redis中搜索?,string,search,redis,String,Search,Redis,在MySQL中,我有一个名为: 包含两列的城市:名称和人口 然后我通过以下方式获得搜索结果: 从名称(如“%Bu%”)按人口描述限值排序为2的城市中选择* 我得到了布加勒斯特、布达佩斯的结果 我如何在Redis中做到这一点?我的意思是如何创建一个类似的结构,然后如何搜索值?我认为您需要对键值存储的工作原理进行更多的研究,但要将您的帖子用作一个过于简化的示例,一种方法是为所有值创建键,然后创建与这些键匹配的索引,如: SET c1 "Bucharest" SET c3 "Budapest" SAD

在MySQL中,我有一个名为:

包含两列的城市:名称和人口

然后我通过以下方式获得搜索结果:

从名称(如“%Bu%”)按人口描述限值排序为2的城市中选择*

我得到了布加勒斯特、布达佩斯的结果


我如何在Redis中做到这一点?我的意思是如何创建一个类似的结构,然后如何搜索值?

我认为您需要对键值存储的工作原理进行更多的研究,但要将您的帖子用作一个过于简化的示例,一种方法是为所有值创建键,然后创建与这些键匹配的索引,如:

SET c1 "Bucharest"
SET c3 "Budapest"
SADD city:bu c1
SADD city:bu c3
SMEMBERS city:bu
=>[c1,c3]

您可以使用:来尝试它

要将其扩展为3个字符的搜索:

SADD city:buc c1
SMEMBERS city:buc
=>[c1]


有很多方法可以实现这一点,包括您可以为索引分配排名的方法,等等。还要注意,此示例与参考的方法不同,但更容易理解-它与使用的方法类似。

您没有。请看:@ldg我明白了,但对于这个问题,没有任何答案可以帮助我理解这在redis中是如何工作的。嗨。我需要存储多个一二多值,其中每个“多”都可能附加一个字符串值。我需要能够通过其子字符串值找到父项,并通过包含、从等开始提供有效的搜索。1 Redis是一个很好的选择吗?2有没有其他想法,最好是MIT/BSD/Apache许可?非常感谢。Hi@Shimmy-这可能不是一个合适的论坛,因为这是一个涉及很多应用程序特定问题的相当广泛的问题。您可以通过设置自己的索引来使用Redis,但从您的简要描述来看,您似乎并不精通Redis,这可能不是最佳选择。看看一个具有本机文本搜索功能的数据库,范围从文档存储~MongoDB到RDBMS,从多模型数据库到Lucene/Solr,或者是这些功能的混合,再加上其他功能!