Meteor 的 MergeBox 是否会在客户端之间复制公共数据?

Lor*_*ren 4 meteor

我试图了解服务器将占用每个客户端多少内存,并了解到 MergeBox 是客户端 minimongo 的副本。MergeBox 是保留所有客户端订阅的副本,还是仅保留该客户端不同的订阅?例如:

  • 订阅1:所有客户端都相同的公共数据集
  • 订阅 2:只有特定客户端才能访问的私有数据。

10 个客户端中的每一个都订阅 Sub 1 和 2。Sub 1 是每个客户端的相同数据。Sub 1 和 2 各占用 1MB。服务器的 MergeBox 内存使用量是 20 MB 还是 11 MB?

Dav*_*don 5

在您的示例中,11 MB 因为观察者被重用。我建议你阅读这篇文章从kadira学院博客。报价:

...如果您创建多个相同的观察者,Meteor 不会为每个观察者从数据库中获取初始数据集。相反,它重用第一个观察者已经获取的数据。

我也通过过去向核心开发人员提出这个确切问题来验证这一点。