【问题标题】:Flutter caching Firestore record on mobile appFlutter 在移动应用上缓存 Firestore 记录
【发布时间】:2020-07-14 17:36:00
【问题描述】:

我正在使用 Flutter 和 Google 的 Firestore 数据库创建一个应用程序。该应用程序使用 Firebase 的身份验证,因此一旦通过身份验证,我就从数据库中获取用户文档并使用 shared_preferences 插件将其存储。我这样做是为了减少对 Firestore 的调用次数,因为我在许多屏幕中使用该文档。

问题是,我在很多地方更新文档,我必须记住更新文档的本地缓存版本,这并不理想。

我的问题是 Firestore 是否具有内置缓存功能,这样如果文档没有更改,它就不会访问数据库?

如果 Firestore 没有任何缓存功能,那么在一个地方管理文档更改的最佳方式是什么?

任何代码参考或插件都会很棒。提前致谢。

【问题讨论】:

  • 因为我已经使用过 Firestore,所以我有一些提示:除了使用 StreamProvider 来主动监听 Firestore 文档更改之外,我建议您构建自己的系统来写入/刷新数据。此外,尝试使用批量和事务进行写入,因为更改和定价都是全有或全无。

标签: firebase flutter dart google-cloud-firestore sharedpreferences


【解决方案1】:

Firestore 具有离线持久性。花点时间在documentationthis post 中了解它。

如果这对您不起作用,您将需要自己想出一些满足您需求的东西。完整的讨论对于 Stack Overflow 来说过于宽泛。

【讨论】:

    猜你喜欢
    • 2021-02-18
    • 1970-01-01
    • 2020-03-22
    • 2020-04-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-17
    相关资源
    最近更新 更多