gpt4 book ai didi

firebase - Firebase 中快速更新实体的消息保证

转载 作者:行者123 更新时间:2023-12-02 04:20:32 25 4
gpt4 key购买 nike

我想了解在短时间内对实体进行大量更新并且客户端正在监听该实体的“值”更改的情况下,Firebase 和监听客户端的行为如何。

假设我在 firebase 中有一个带有一些简单数据的实体。

{
"entity": 1
}

而且那个“实体”的值(value)更新得非常快。类似于下面的代码,写入 1000 个整数。

//pseudo-code for making 1000 writes as quickly as possible
for(var i = 0; i < 1000; i++) {
ref.child('entity').set(i)
}

忽略暂时性问题,监听客户端会使用 'on' API in a browser收到包含 0-999 的所有 1000 条通知,或者 Firebase 是否有限制?

最佳答案

首先,需要注意的是,Firebase 实时数据库是一项状态同步服务,而不是发布/订阅服务。

如果您的位置正在快速更新,则该服务将保证最终状态在所有客户端上保持一致,但不会显示所有间歇状态。每次更新最多都会触发一个事件,但服务器可以自由地将同一位置的连续更新“压缩”为一个。

在进行更新的客户端上,我认为当前的行为是每次更改都会传播本地事件,但我可能是错的,这是一个值得注意的异常(exception)。

为了保证每个中间状态的传递,可以将push(Objective-C中的childByAutoId)推送到数据库位置的事件列表上,而不是只需直接更新值即可。查看Firebase REST API docs关于保存数据列表

关于firebase - Firebase 中快速更新实体的消息保证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30819126/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com