2016-03-24 33 views
1

火力地堡:是否将Firebase值设置为相同的值使用带宽?

{exampleValue: "something";} 

的Javascript:

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

我有一对夫妇的周围火力地堡的值设置为相同的值,如上图所示的问题。

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

回答

3

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

你可以很容易地自己测试这些东西。我只是做了以下操作:打开Chrome开发人员工具中的“网络”标签,找到与Firebase通信的WebSocket(“WS”)。在该Web套接字的“框架”选项卡中,您可以准确了解Firebase客户端与其服务器进行通信的内容。

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

var newRef = ref.push(); 

这会生成一个新的路径/位置,但不发送任何内容到火力地堡服务器呢。然后:

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

这设置值,所以使用带宽。

然后我跑一样了:

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

这再次发送数据到服务器火力地堡,所以它使用的带宽。

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

+0

谢谢弗兰克。出于某种原因,直到现在我认为它没有,我想我已经混合了多次读取数据的唯一下载数据。 –

相关问题