使用 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 存储大量数据可以吗? [反应原生]的主要内容,如果未能解决你的问题,请参考以下文章
如何在 React Native 中使用异步存储存储唯一数据?