在 MySQL 中我有一个表:
cities
其中包括 2 列:name
和 population
然后我用这个得到搜索结果:
SELECT * FROM cities WHERE name LIKE '%Bu%' ORDER by population DESC LIMIT 2
我得到了 Bucharest
、Budapest
的结果。
我如何在 Redis 中执行此操作?我的意思是如何创建类似的结构,然后如何搜索值?
最佳答案
我认为您需要对键值存储的工作原理做更多的研究,但要将您的帖子用作过于简化的示例,一种方法是让您创建所有值的键,然后创建与这些键匹配的索引,如:
SET c1 "Bucharest"
SET c3 "Budapest"
SADD city:bu c1
SADD city:bu c3
SMEMBERS city:bu
=> ["c1","c3"]
您可以使用:http://try.redis-db.com/尝试一下。
将其扩展为 3 个字符的搜索:
SADD city:buc c1
SMEMBERS city:buc
=>["c1"]
有很多方法可以解决这个问题,包括可以为索引分配排名的方法等。另请注意,此示例与引用的 example 的方法不同。 , 但更容易理解——它类似于使用 here .
关于string - 如何在 Redis 中进行搜索?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7604455/