在meteor js中,订阅是否会在询问服务器之前尝试使用缓存数据?

时间:2015-09-18 16:09:19

标签: meteor

据我所知,客户端游标(即collection.find)只查询本地缓存(minimongo)。此外,订阅通常(始终?)针对服务器端发布发出请求,从而将记录推送到客户端并进行缓存。

我的问题:订阅是否尝试在从服务器端发布接收结果集之前找到其请求的本地缓存版本?

我意识到这会很复杂,因为只有出版物知道它正在发布的查询的完整性质。但这有可能。

1 个答案:

答案 0 :(得分:0)

您可能已经看到,当您第一次在新浏览器或新地址上打开应用时,空白屏幕会持续一段时间。这主要是因为订阅还没有准备就绪,当它们存在时,所有需要它们的模板都会被渲染。但是,当您再次打开应用程序或只是刷新时,事情发生得更快。所以几乎没有什么可以考虑的事情:

  1. 是的,客户端上的minimongo确实存储了缓存的文档。
  2. 是的,客户端确实知道何时该时间通过pub / sub从服务器上的集合中获取新数据。这是因为服务器通知客户端。
  3. 大多数情况下,没有必要明确有力地更新客户端上的数据。但如果你愿意,可以a Q&A for that
  4. 一般来说,有助于了解Meteor背景下的反应意义(即如何实施):Reactivity Basics: Meteor's Magic Demystified