【问题标题】:React Native + AWS AppSync - maximum data storageReact Native + AWS AppSync - 最大数据存储
【发布时间】:2019-03-22 13:54:17
【问题描述】:

我正在构建一个需要存储大约 30,000 条记录的离线应用程序。

AWS AppSync 对这种大小的数据集是否有任何性能问题?

我过去使用过带有 redux-persist 的 redux,它可以离线保存 store,然后在应用启动时重新获取并放入内存中。这会导致相当大的内存问题,尤其是在查询数据时。

我想知道 AppSync 是否能够使用 Realm 或 SQLite 进行离线存储和查询。

谢谢。

【问题讨论】:

  • 撞...?.......

标签: javascript react-native redux realm aws-appsync


【解决方案1】:

这是一个老问题,但对于后人来说:AWS Amplify's DataStore 恰好履行了这个角色。它在本地处理数据并在后台处理与 AppSync 之间的同步。你写的东西很简单,像这样:

// putting data
DataStore.put(new YourModel({ ... });

// getting data
const records = DataStore.query(YourModel);

// getting realtime updates
const subscription = DataStore.observe(YourModel).subscribe(msg => {
  console.log(msg.model, msg.opType, msg.element);
});

DataStore 针对本地存储运行这些查询(其实现因平台而异),在幕后(在线时)为您执行同步和建立订阅。

请参阅the docs 了解更多完整信息。

【讨论】:

    【解决方案2】:

    除了上一个答案,为了回应您提到的 sqlite,Amplify DataStore 默认使用 IndexedDB 进行本地存储。此存储在浏览器重新启动和机器重新启动时是持久的。根据我的研究,如果用户有磁盘空间,IndexedDB 最多可以为 DataStore 应用存储 50MB。

    【讨论】:

      猜你喜欢
      • 2019-02-17
      • 2018-12-09
      • 1970-01-01
      • 2019-12-27
      • 2018-08-14
      • 2021-07-20
      • 1970-01-01
      • 1970-01-01
      • 2018-06-23
      相关资源
      最近更新 更多