如何在Redis中搜索?

Ada*_*dam 3 string search redis

在MySQL中,我有一个名为:

cities其中包括2列: namepopulation

然后我得到了搜索结果:

SELECT * FROM cities WHERE name LIKE '%Bu%' ORDER by population DESC LIMIT 2

而我得到的结果Bucharest,Budapest.

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

ldg*_*ldg 7

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

SET c1 "Bucharest"
SET c3 "Budapest"
SADD city:bu c1
SADD city:bu c3
SMEMBERS city:bu
Run Code Online (Sandbox Code Playgroud)

=> ["c1","c3"]

您可以使用:http://try.redis-db.com/进行试用.

为3字符搜索扩展它:

SADD city:buc c1
SMEMBERS city:buc
Run Code Online (Sandbox Code Playgroud)

=> [ "C1"]

有很多方法可以解决这个问题,包括可以为索引分配等级的方法等.另请注意,此示例与参考示例的方法不同,但更容易理解 - 它类似于此处使用的方法.