使用 Async Storage 存储大量数据可以吗? [反应原生]

Posted

技术标签:

【中文标题】使用 Async Storage 存储大量数据可以吗? [反应原生]【英文标题】:Is it okay to store a lot of data with Async Storage? [React Native] 【发布时间】:2019-08-26 21:23:52 【问题描述】:

我正在开发一个 react native 应用程序,我的 firebase 数据库存储了大约 10000 件物品的库存。 所以我需要在本地存储这些数据,我正在考虑将每个项目保存到他自己的异步存储密钥中。 没关系还是有更有效的方法?

【问题讨论】:

请注意,android AsyncStorage 的大小上限为 6MB。 前面的评论是正确的,但是可以通过将AsyncStorage_db_size_in_MB 属性添加到android/gradle.properties 并将值设置为新的最大 MB 来更改此限制。 【参考方案1】:

AsyncStorage 的运行时间很慢并且没有索引功能。 因为 AsyncStorage 只接受字符串作为它的值,所以所有数据都必须 在插入之前首先被序列化为字符串,并且 检索后反序列化。这就是为什么你不应该使用 处理大量数据时的 AsyncStorage

您可以阅读这篇文章,了解有关 AsyncStorage 在处理大数据时如何工作的更多信息:https://codeburst.io/tackling-react-native-storage-part-1-d27b2bfa480f

【讨论】:

【参考方案2】:

您可以使用 AsyncStorage,尝试从中检索数据总是需要一些时间。

还有其他可能的方式:

1) 反应原生 SQLite 2

2)React Native Storage

3)Realm

4)React Native Local MongoDB

【讨论】:

以上是关于使用 Async Storage 存储大量数据可以吗? [反应原生]的主要内容,如果未能解决你的问题,请参考以下文章

Web Storage

react-native 异步存储不保存,也没有错误

如何在 React Native 中使用异步存储存储唯一数据?

Azure Queue Storage 基本用法 -- Azure Storage 之 Queue

Web存储机制

storage