1

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

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

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

4

2 回答 2

1

这一切都取决于。

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

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

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

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

于 2014-07-31T20:26:21.550 回答
1

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

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

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

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

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

于 2014-07-31T20:33:58.100 回答