火力地堡:
{exampleValue: "something";}
使用Javascript:
var ref = new Firebase(url + "/exampleValue");
ref.set("something");
关于将Firebase中的值设置为相同的值,我有几个问题,如上所示。
答案 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客户端仅知道其本地状态。服务器上的值可能不同,例如因为其他人已更改了值。因此,当您告诉它设置值时,它必须将该命令发送到服务器以确保该值实际写入数据库。