将Firebase值设置为相同值是否使用带宽?

时间:2016-03-24 04:35:15

标签: firebase

火力地堡:

{exampleValue: "something";}

使用Javascript:

var ref = new Firebase(url + "/exampleValue");
ref.set("something");

关于将Firebase中的值设置为相同的值,我有几个问题,如上所示。

  1. 是否为用户使用带宽?
  2. 是否会计入我的Firebase计划的带宽?

1 个答案:

答案 0 :(得分:3)

tl; dr:使用相同的值多次调用set()将每次使用带宽。

您可以自己轻松测试这些内容。我刚刚做了以下事情:打开"网络" Chrome开发者工具中的标签,找到与Firebase通信的WebSocket(" WS")。在" Frame"在该Web套接字的选项卡中,您可以准确地看到Firebase客户端与其服务器通信的内容。

然后在开发者控制台中运行以下命令:

  var newRef = ref.push();

这会生成新的路径/位置,但不会向Firebase服务器发送任何内容。然后:

  newRef.set('This is a value');

设置值,因此使用带宽。

然后我又跑了一遍:

  newRef.set('This is a value');

这又一次将数据发送到Firebase服务器,因此它使用带宽。

当你考虑它时,这也是有道理的。 Firebase客户端仅知道其本地状态。服务器上的值可能不同,例如因为其他人已更改了值。因此,当您告诉它设置值时,它必须将该命令发送到服务器以确保该值实际写入数据库。