首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Ruby设置为存储大量单词并查找

Ruby设置为存储大量单词并查找
EN

Stack Overflow用户
提问于 2020-07-28 08:44:33
回答 1查看 45关注 0票数 0

我正在分析字符串,以检查它们中是否有位置名称。这些字符串可以有字母。数字和随机字符,因此我们提取连续序列的字母,然后检查这些序列是否存在于一个地方字典。

该语料库地名词典约有45000个名称,最小的是2-3个字符,最大的是24个字符。

我最初的想法是将它们存储在Ruby集合中,并使用包含吗?以验证PLACES_SET中是否有序列。

这个检查地名的方法是从频繁运行的活动作业内部调用的。

整个ruby集文件大约为908 is。

  1. 从作业中加载这么大的一组内存意味着什么?是否有推迟装货的选择?或者手动垃圾收集会有帮助吗?

  1. 还有我应该考虑的其他替代方案,比如数据库存储吗?(这有perf查询开销)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-07-28 11:00:49

正如@sergio所观察到的,

  1. 的问题更少与内存有关(如今1MB的内存并不大,大多数智能手机都能处理)。更多的是关于加载它的频率和加载后对其执行查找的频率。
  2. 如果位置列表是不稳定的,或者需要在不重新部署应用程序的情况下维护,那么某种类型的DBMS可能是合适的,如果您担心性能问题,可以将其放在分布式缓存中,比如Redis在DB.

前面。

全局集合看起来是一个很好的选择,后续的维护人员将很容易理解它。

我对性能的建议是保持简单,只有在实际存在性能问题时才能对性能进行优化。否则,您可能会优化错误的事情,并使您的解决方案不必要地复杂。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63130260

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档