【问题标题】:WebSQL or LocalStorage - iOS / Cordova / JavaScriptWebSQL 或 LocalStorage - iOS / Cordova / JavaScript
【发布时间】:2015-06-26 04:34:45
【问题描述】:

我们只是重新设计了一年前构建的应用程序。我们想改进我们应用程序中的一些步骤并加快速度。现在我们的登录过程最多需要 15 秒。有很多数据保存在我们的 WebSQL DB 中。

我们尝试将所有这些数据毫无意义地保存到 localStorage 中,现在该过程最多需要 2 - 3 秒,这比我们的 WebSQL 解决方案快得多。

所以现在我想知道为什么会这样,并查看了 WWW。如果我们现在想将整个流程从 WebSQL 更改为 LocalStorage,有什么需要考虑的吗?

也许有一个用于cordova的快速存储插件——我没找到,你知道吗?

localStorage 是一种保存数据而不是使用 WebSQL 数据库的好方法吗?

提前致谢!

【问题讨论】:

    标签: javascript ios html cordova local-storage


    【解决方案1】:

    本地存储的主要限制是存储容量。在 iOS 上,每个应用程序限制为 5Mb,因此如果您存储大量数据,您可能很快就会达到此限制。使用 WebSQL,iOS 为您提供 50Mb。有关跨平台的存储容量,请参阅 this page

    您可能需要考虑使用lawnchair 之类的东西作为抽象层;它有一系列adapters,因此您可以在代码中保持接口相同,并尝试通过适配器机制在不同的存储中交换。默认情况下,它使用本地 (DOM) 存储,但具有 WebSQL 和 IndexedDB 等适配器。

    如果您需要大量存储容量,请考虑使用 this plugin 之类的东西,它允许您使用容量不受限制的原生 SQLite 数据库。

    如果性能是一个问题,您可能希望放弃一个抽象层,例如草坪椅,并手动编写 SQL 以与数据库交互,这样您就可以对其进行优化。我创建了this example project,它使用上面的 SQLite 插件和优化的 SQL。在我的 iPad2/iOS 8.3 上,它能够在大约 1.4 秒内执行 15000+ 次插入。

    【讨论】:

      猜你喜欢
      • 2015-12-31
      • 1970-01-01
      • 1970-01-01
      • 2015-09-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-15
      • 1970-01-01
      相关资源
      最近更新 更多