mysql - Redis vs Mysql 引擎类型内存

标签 mysql performance memory redis

我想知道是否有人有过使用这些搜索引擎的经验,我在大约 2500 条记录中包含 id 和 name (id-> 5 ...... name-> city, state)一个表,它是只读的,几乎从不改变,如果我选择 mysql,我想使用:选择 id,名称来自名称像 '%text%' 和名称像 '%othertext%' 的城市; ...一个,对于每个单词,或者 Redis,哪个选项更适合这种情况?是一个网站的自动完成功能,存在城市名称很长,每个名称有几个单词。

最佳答案

对于自动完成列表(使用 startswith 或通配符搜索),Redis 本身并不是您的最佳选择。我最近向 Redis 添加了一些功能来实现这一点(好吧,startswith 位)。查看拉取请求 here .

如果您想搭上 NoSQL 的马车,像 ElasticSearch 或 SOLR 这样的集成解决方案值得考虑。他们使用 Redis 作为后端,并提供复杂的标记化和自然语言检测(Lucene 等)。

使用对象映射器,例如(此处为 Python 示例)Josiah Carlsons 的 rom或 Luca Sbardella 的 stdnet , 也是一种选择。它们存储数据的方式使得可以使用自动 Lua 脚本在 Redis 中执行简单查询。

如果您更喜欢坚持使用 SQL,那么使用 MySql 或 Postgres 等关系数据库也没有错。尤其是对于如此少量的行。

希望这有帮助,TW

关于mysql - Redis vs Mysql 引擎类型内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22740739/

相关文章:

mysql - 按 MySQL 字段中的单词数排序

android - 位图分配如何在奥利奥上工作,以及如何调查它们的内存?

c# - 启动隐藏的 Windows 窗体应用程序 - 高内存使用率?

linux - mmap 系统调用中 MAP_ANONYMOUS 标志的目的是什么?

MySQL查询不在表中的范围内的最小值

php - 如何接收数据库中的最后一行ID?

php - 更新数据库记录不起作用

performance - CSS3 PIE : rounded corners slow down IE9, 即使它本身支持它们

安卓代码增强

SQL 探查器和调优顾问