【发布时间】: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