所以我在Docs中找到了这个:
每个共享Firebase的客户端都会维护自己内部版本的所有活动数据。更新或保存数据时,会将其写入Firebase的本地版本。然后,Firebase客户端会将这些数据与Firebase服务器以及其他客户端进行最佳工作同步。基础。
因此,在将任何数据写入服务器之前,对Firebase的所有写入都将立即触发本地事件。这意味着无论网络延迟或互联网连接如何,应用都将保持响应。
重新建立连接后,我们会收到相应的一系列事件,以便客户能够赶上"使用当前服务器状态,无需编写任何自定义代码。
是的,我得到了这个,但更具体(我无法找到答案):
我在REST
- 程序中使用c++
- API,该程序执行curl
- 请求。到目前为止一切正常。对于插入,这不是什么大问题。如果出现错误,我可以通过redis
或其他方式轻松存储数据并在以后更新,但阅读工作如何?
给你一个场景:
我制作了一个识别身份证的扫描仪。完成此过程后,将其插入Firebase(如上所述)。人们还可以在有关主页上注册(并手动插入其ID)。这也将保存在Firebase中。显然是同一节点。
Firebase旨在通过访问db来提供从一个端点到另一个端点的数据,这很好。用户在站点上注册并插入到DB中。突然间,我的网络连接消失了。
有没有办法让最后一个"堆栈"或者"在我的连接消失之前使用的完整数据集"?有没有办法复制数据库和队列作业,这些作业将在重新建立连接后同步?
答案 0 :(得分:3)
免责声明:我为Firebase工作。
您在上面引用的段落特指我们维护的客户端库(目前在Objective-C,Java和JavaScript中) - 这些是我们编写的代码片段,您将在应用程序中运行。
在这种情况下,您特别没有使用客户端库 - 您只是访问我们的常规REST端点,因此您将无法获得任何好处。实施自己的客户将是一项重大任务;它是客户端代码,用于维护数据的内部视图,补偿其何时脱机,触发本地事件等。