通过prefs索引本地存储的数据

Indexing data stored locally through prefs

有没有办法使用 forge.prefs.set() 索引本地存储的数据?

对于我正在处理的应用程序,本地存储了大量数据,使用 forge.prefs.get() 检索数据可能很慢。

您使用 prefs 还是 say indexDB 有特定原因吗?首选项真的不是用来存储大量数据的,实际上是用来存储一些用户首选项的,但是大索引会很慢。

我强烈推荐 localforage,因为它提供了一个很好的 shim,并且与 localstorage 请求非常相似。

我有类似的需求,曾经尝试过 prefs,但它们太慢了,我这样做是因为 localstorage 5 meg 限制,然后我切换到 indexDB ( localforage ),因为它做了我想做的需要而且速度很快。我的工作方式是在应用程序加载时将本地存储转储到运行时变量中,这样我就可以快速访问它并使用简单的循环遍历对象

如果您需要更复杂的操作,还有其他垫片,但它们比 localforage 更复杂

forge.prefs 分别在 Android 和 iOS 上使用 android.content.SharedPreferences and NSUserDefaults

(参见:https://github.com/trigger-corp/trigger.io-prefs/tree/master/inspector

虽然它们可以持久化的数据量没有上限,但它们都不是特别适合处理大量数据。

我会按照 proxim0 的建议使用 IndexedDB,甚至可能使用 WebSQL。

(WebSQL is 已正式弃用,但 iOS 或 Android Web 运行时不太可能很快放弃支持。另外参见:https://softwareengineering.stackexchange.com/questions/220254/why-is-web-sql-database-deprecated)