我想,如果能夠對火力地堡實時數據庫中的客戶端的離線支持,爲您節省任何帶寬? 我想知道Firebase客戶端何時開始從存儲中加載數據庫,然後繼續並僅同步稍後添加的內容?或者它是否同步所有內容,並且是否無法回退到之前存儲的脫機數據。節省帶寬的火力地堡實時數據庫啓用離線支持
回答
我對Google員工今天在談到谷歌下一步阿姆斯特丹,他證實了這一理論,我有。 如果您的應用已啓用脫機支持,並且您將從脫機狀態轉爲在線狀態,則Firebase將以最智能的方式同步您的數據庫。這意味着如果可能的話,它只會發送改變後的值。所以,啓用離線支持確實可以節省帶寬。
如果您正在使用FirebaseDatabase.getInstance().setPersistenceEnabled(true);
意味着你就可以查詢你的,即使你是脫機的數據庫。發生這種情況是因爲Firebase會創建數據庫的本地副本。一旦重新聯機,每次在離線狀態下進行的更改都將在Firebase服務器上進行更新。所以這個選項不是用來節省帶寬的,是enable offline capabilities。
更明確,就是用火力地堡數據庫,並使用setPersistenceEnabled(true)
保持它的數據庫自身的內部(本地)版本每一位客戶。當數據更新時,首先將寫入數據庫的本地版本。
因此,所有對Firebase的寫入都會在任何數據寫入服務器之前立即觸發本地事件。這意味着無論互聯網連接如何,該應用都將保持響應。
重新建立互聯網連接後,您將收到相應的當前服務器狀態。 Firebase客戶端synchronizes
將數據與Firebase服務器以及與使用相同數據庫的其他客戶端相關聯。
另一件要記住的是,火力地堡自動管理connection state
來減少帶寬和電池使用。當客戶端不具有active listeners
,沒有未決寫入或onDisconnect
操作,而且未明確通過goOffline
方法斷開,火力地堡關閉不活動的60秒後的連接。
作爲結論,當我們啓用離線支持時,帶寬沒有區別。好處是我們可以查詢和更改數據庫,即使我們沒有連接到互聯網。
希望它有幫助。
這根本不回答這個問題。 –
- 1. 火力地堡節省流量與setPersistenceEnabled
- 2. 如何窩在火力地堡實時數據庫(SWIFT)數據
- 3. 火力地堡離線功能和addListenerForSingleValueEvent
- 4. 火力地堡數據檢索:我無法從火力地堡數據庫
- 5. 火力地堡實時數據庫獲得推()引用
- 6. Android的火力地堡從數據庫
- 7. 只有從火力地堡數據庫
- 8. 火力地堡數據庫崩潰SQLiteDatabaseLockedException
- 9. 火力地堡數據庫:在路徑
- 10. 火力地堡刪除()在數據庫
- 11. 火力地堡數據庫異常
- 12. 火力地堡異步數據庫
- 13. 火力地堡數據庫規則
- 14. 角火力地堡數據庫Quering
- 15. 火力地堡數據庫通知
- 16. 加入在火力地堡數據庫
- 17. 在火力地堡數據庫
- 18. 火力地堡Retrive數據
- 19. 訪問火力地堡實時數據庫值
- 20. 如何從火力地堡實時數據庫(SWIFT)
- 21. 安卓:火力地堡實時數據庫
- 22. 火力地堡實時數據庫的聽衆在離線優先模式不火iOS上
- 23. 火力地堡SDK,離線數據存儲在稍後日期
- 24. 火力地堡社交媒體應用程序:用戶節省
- 25. 火力地堡數據庫分離監聽
- 26. 火力地堡和離子2,將用戶的UID時,數據庫
- 27. 導入火力地堡數據庫更改爲某些節點
- 28. DatabaseException迭代嵌套火力地堡數據庫節點
- 29. 火力地堡數據庫 - 讓孩子無節點
- 30. 火力地堡數據庫添加節點JSON樹爲Android
在我看來,你剛剛說的是正確的,'Firebase會以最聰明的方式同步你的數據庫。「但正如我前面提到的,當您恢復在線狀態時,只有在離線狀態下進行的更改會在「Firebase服務器」上更新。但說我們離線保存相同的帶寬,在我看來是錯誤的:| –
我同意你不應該爲了節省帶寬而離線。 –
請看我更新的答案。希望我已經清楚了。 –