Meteor 服务于大型静态集合
Meteor serving large static collections
我开始构建应用程序并选择 meteor 作为平台,但我偶然发现了一个问题,我需要为用户提供大量数据,比方说 2000-5000 条记录,现在我明白拥有如此庞大的反应式集合是流星的问题,但问题是我不需要它是反应性的,我只需要在用户请求时统计显示它。我刚开始使用流星,不知道它的功能,所以我想知道这样的事情是否可能?例如 php 从 mysql 查询 ~3000 条记录并在大约 3 秒内将其打印给用户。
但是即使对于较小的集合也使用 meteor 比方说 500 条记录我必须等待更多时间:~1 分钟。
我知道这种缓慢的加载可能是由 meteor 默认 MongoDB 实现引起的,使用外部数据库应该会提高性能,尽管我还没有尝试过。无论如何,问题是我能否在 meteor 中实现大型数据集合的快速加载,如果可以,我该怎么做,以及在 meteor 中处理大型集合的最佳实践是什么?
PS。我选择 meteor 是因为我确实需要它在某些情况下具有反应性,而且集合很少。但我还需要提供更大的静态集合。但我想知道我是否可以在流星中将两者结合起来?
一些可能对您的静态集合有帮助的建议:
- 在不需要响应的查找查询中使用 'reactive: false',因为这会停止流星监视更新。
http://docs.meteor.com/#/full/find
- 确定您需要哪些字段,并且只需要 return 最低限度。您可以使用会话变量根据上下文进行过滤,这将使您的出版物更加有效。
http://docs.meteor.com/#/full/meteor_publish
- 用户肯定不需要一次查看所有 2000-5000 条记录吗?你不能实现某种分页机制吗?
Best pattern for pagination for Meteor
我开始构建应用程序并选择 meteor 作为平台,但我偶然发现了一个问题,我需要为用户提供大量数据,比方说 2000-5000 条记录,现在我明白拥有如此庞大的反应式集合是流星的问题,但问题是我不需要它是反应性的,我只需要在用户请求时统计显示它。我刚开始使用流星,不知道它的功能,所以我想知道这样的事情是否可能?例如 php 从 mysql 查询 ~3000 条记录并在大约 3 秒内将其打印给用户。
但是即使对于较小的集合也使用 meteor 比方说 500 条记录我必须等待更多时间:~1 分钟。
我知道这种缓慢的加载可能是由 meteor 默认 MongoDB 实现引起的,使用外部数据库应该会提高性能,尽管我还没有尝试过。无论如何,问题是我能否在 meteor 中实现大型数据集合的快速加载,如果可以,我该怎么做,以及在 meteor 中处理大型集合的最佳实践是什么?
PS。我选择 meteor 是因为我确实需要它在某些情况下具有反应性,而且集合很少。但我还需要提供更大的静态集合。但我想知道我是否可以在流星中将两者结合起来?
一些可能对您的静态集合有帮助的建议:
- 在不需要响应的查找查询中使用 'reactive: false',因为这会停止流星监视更新。
http://docs.meteor.com/#/full/find
- 确定您需要哪些字段,并且只需要 return 最低限度。您可以使用会话变量根据上下文进行过滤,这将使您的出版物更加有效。
http://docs.meteor.com/#/full/meteor_publish
- 用户肯定不需要一次查看所有 2000-5000 条记录吗?你不能实现某种分页机制吗?
Best pattern for pagination for Meteor