从多个文件中获取信息,匹配它然后显示给最终用户,最快的是什么?

时间:2010-05-11 14:59:34

标签: database-design

我需要建立一个网站,我们显示每5分钟刷新一次的数据 在带有|的文本文件中分离器。

我目前使用Java来做这件事。

我现在做什么: 我通过网站获取每个请求的文本文件并处理它然后显示 对最终用户的数据,这很好,因为Java可以快速通过5000行数据,当我过滤它时,它仍然非常快。

但是现在管理层需要以下内容: 他们在|中添加了3个文本文件分隔到它,现在要我也读 这些文件并匹配某些字段的信息,以及是否匹配 还会向最终用户显示该信息。

我想很快,虽然Java速度很快,但10个人遇到麻烦 想要这些信息,我必须浏览4个与信息匹配的文件。

如何才能让这个过程超级快速?

到目前为止我的创意解决方案:

- 保持这种方式,因为Java很快,最终用户可以等待(可能不到1秒)

- 有一个后台进程,每隔5分钟就会将新数据转储到MySQL数据库中,因为数据库非常擅长从多个表中获取相同的数据。

谢谢!

2 个答案:

答案 0 :(得分:2)

两种解决方案都很好。要记住的一些事项:

  • 如果您要让用户等待超过1秒,请考虑制作一个目标网页,并在您的网页加载信息时显示“加载信息 - 请稍候”消息(例如,使用AJAX)。
  • 管理层可能会在以后添加更多文件。现在对数据库解决方案进行编码可能会使您免遭黑客入侵,并且无论如何都必须以正确的方式进行。
  • 使用数据库的其他原因是DBMS在缓存,锁定,加入......方面的额外优势。

答案 1 :(得分:1)

我不是一个真正的Java人,但我很确定你应该能够将这些文件读入缓存5分钟......这样一来,数据就会被合并并存储在内存中......除此之外将它放在内存中,你可以将它存储在哈希表或其他一些使搜索更快的数据结构中(找到值而不是评估每个值)......