我正在构建一个可在普通平板电脑上运行的单页应用程序,因此资源不会太广泛。
我正在考虑最初检索应用程序所需的所有数据并将其存储在TaffyDb - 本地javascript数据库中 - 并在本地查询,而不是每次用户引出事件处理程序时都联系服务器。
我想知道哪一个在速度/内存方面会更好。所有数据都存储在TaffyDb本地,或每次需要时检索相关信息。 数据是简单的JSON对象,最多10个。
答案 0 :(得分:1)
一切都取决于。
数据是静态的吗?它会随着时间而改变吗?如果它是静态的,只需在本地定义它。
但是,如果您的数据发生变化,这就是您需要远程获取数据的原因,那么您可能希望将本地数据库或localStorage用作“缓存机制”的一部分。
例如,如果您的SPA需要数据,请先在本地缓存中查找。如果它在那里但它太旧了,那么通过查询远程数据库来刷新数据。但是,如果您的缓存中的数据仍然是新鲜的,那么只需重复使用它即可。
因此,实现缓存机制将有助于减少对远程数据库的调用。
答案 1 :(得分:1)
我看到估计每个HTTP请求需要花费大约40,000台机器指令才能执行。在手机上,我认为它甚至更贵。
但我更关注另一个方面 - 有四种类型的移动应用程序:
每个案例都需要自己的策略。例如#3肯定需要本地DB和一些同步手段。对于#2,只需15分钟(或左右)的到期时间即可进行一些本地缓存。
您似乎倾向于选择#3。您需要考虑客户端/服务器同步。在某些数据架构上,这可能非常重要。