2016-03-24 61 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

謝謝弗蘭克。出於某種原因,直到現在我認爲它沒有,我想我已經混合了多次讀取數據的唯一下載數據。 –

相關問題