【问题标题】:How costly are trips to server for single page applications?单页应用程序访问服务器的成本是多少?
【发布时间】:2014-07-31 19:51:01
【问题描述】:

我正在构建一个可以在普通平板电脑上运行的单页应用程序,因此资源不会太丰富。

我正在考虑最初检索应用程序所需的所有数据并将其存储在 TaffyDb(本地 javascript 数据库)中并在本地查询,而不是每次用户引发事件处理程序时都联系服务器。

我想知道哪个在速度/内存方面会更好。本地存储在 TaffyDb 上的所有数据,或在每次需要时检索相关信息。 数据是简单的 JSON 对象,最多 10 个。

【问题讨论】:

  • 试试看。 “简单的 JSON 对象”并没有真正告诉我们任何事情。在我看来,虽然在本地拥有数据会有所帮助......但谁知道呢。
  • 在这种情况下什么是“SPA”?
  • @LukeWillis 我第一次听说它缩写为不透明的术语“SPA”,但谢谢。

标签: javascript taffydb


【解决方案1】:

据我估计,每个 HTTP 请求需要花费大约 40,000 条机器指令来执行。我认为在手机上它甚至更贵。

但我更愿意关注另一个方面 - 有四种类型的移动应用程序:

  1. 连接(一直);
  2. 偶尔断开连接;
  3. 偶尔连接;
  4. 已断开连接。

每个案例都需要自己的策略。例如#3 肯定需要本地数据库和一些同步手段。对于 #2,只需 15 分钟(左右)到期时间进行一些本地缓存就足够了。

您似乎倾向于选择#3。然后,您需要考虑客户端/服务器同步。这在某些数据架构上可能非常重要。

【讨论】:

    【解决方案2】:

    这一切都取决于。

    数据是静态的吗?它会随着时间而改变吗?如果它是静态的,只需在本地定义它。

    但是,如果您的数据发生变化,这就是您需要远程获取数据的原因,那么您可能希望使用本地数据库或 localStorage 作为“缓存机制”的一部分。

    例如,如果您的 SPA 需要数据,请先在本地缓存中查找。如果它在那里但它太旧了,那么通过查询你的远程数据库来刷新数据。但是,如果您的缓存中的数据仍然是新鲜的,那么只需重复使用它即可。

    因此,实施缓存机制将有助于减少对远程数据库的调用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-10
      • 1970-01-01
      相关资源
      最近更新 更多