如何在Redis中进行搜索?

2024-01-13

在 MySQL 中我有一个表名为:

cities其中包括 2 列:name and population

然后我得到搜索结果:

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

我得到了结果Bucharest, Budapest.

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


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

SET c1 "Bucharest"
SET c3 "Budapest"
SADD city:bu c1
SADD city:bu c3
SMEMBERS city:bu

=> [“c1”,“c3”]

您可以使用:http://try.redis-db.com/ http://try.redis-db.com/尝试一下。

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

SADD city:buc c1
SMEMBERS city:buc

=>[“c1”]

有很多方法可以解决这个问题,包括可以为索引分配排名的方法等。另请注意,此示例与引用的方法不同example http://antirez.com/post/autocomplete-with-redis.html,但更容易理解一点——它与使用的类似here http://playnice.ly/blog/2010/05/05/a-fast-fuzzy-full-text-index-using-redis/.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在Redis中进行搜索? 的相关文章

随机推荐