firebase - 当文档在设备外更新时,Firestore 的离线持久性如何表现?
问题描述
我正在阅读这个问题,我很担心。
道格在答案中所说的很有意义:持久性的重点是缓存文档,因此不需要将来读取。将来(从设备)更新文档后,缓存也会更新,你很好,一切正常,漂亮。
如果文档在设备外更新怎么办?
假设您有一个带有名称字段的用户文档,其值为“Doug”。此文档缓存在您的手机和您的应用程序中。
然后我们的用户转到您的应用程序的网络版本并将名称更改为“史蒂文森”。你的手机永远不会知道它,是吗?您手机的应用程序永远不会更新其缓存中的该文档,因为它不知道它已被更新,是吗?
这不意味着离线持久性不应该与多客户端应用程序一起使用吗?或者有没有办法解决这个问题?
注意:我不是在说手机离线。我说的是网上的电话。即使在线,根据我的实验,缓存也没有更新。仅当文档来自设备时才更新缓存。
解决方案
你的手机永远不会知道它,是吗?
没错,由于手机离线,它不知道服务器上发生了什么。
您手机的应用程序永远不会更新其缓存中的该文档,因为它不知道它已被更新,是吗?
只要文档处于脱机状态,就永远不会更新文档。当重新上线时,手机将从 Firebase 服务器获取新数据。
这不意味着离线持久性不应该与多客户端应用程序一起使用吗?
这就是它的实际工作方式。
推荐阅读
- c# - 使用 C# Visual Studio 从 URL 显示 RDLC 中的图像
- scala - Scala 文件行映射
- python - 使用 Cloud Functions 在 Google Cloud Platform 中设置环境变量
- excel - 将“工作日”添加到 Excel 公式中的“if”语句中
- python - 如何从本身是超链接的href中获取URL?
- php - 使用 PHP 更新 SQL 数据
- syntax - 当我的语法似乎涵盖了所有输入时,为什么在 Yacc 中会出现语法错误?
- visual-studio-code - 显示变量时如何获取当前的frameid?
- c# - 不应该出现的异常 (System.FormatException)。如何调试?
- reactjs - 在没有 webpack 的 React 中使用本地图像的简短语法?