2017-05-03 55 views
-2

我在應用程序中啓用了Firebase Persistance。如果我爲孩子設置一個值,如Firebase數據庫是否存儲最新數據或具有時間戳的所有數據?

child.setValue("XYZ"); 

我沒有給父樹添加值。我只是在更新一個孩子的價值。所以在這裏,當用戶每天多次使用該應用程序時,該值會一次又一次地更新。所以,我的問題是,如果用戶在幾天之內沒有網絡間連接,Firebase會將這些內容存儲在緩存中,這樣會產生錯誤。是否所有的數據都通過git提交或僅存儲最新值的機制脫機存儲。我在問這個問題,因爲它是一種緩存,所以如果firebase存儲所有日誌和數據的孩子獲得的數據,那麼它可以使我的應用程序越來越慢,因爲它會一直運行所有的緩存。

回答

1

如果您脫機並且您正在更新單個記錄,那麼當您恢復聯機時,只有最後一次更新將在服務器上更新。我們舉個例子吧。你有一個存儲timestamp的產品。每次進行更新時,都會使用當前時間戳更改該時間戳。如果您處於離線狀態,並且您多次編輯該產品,當您重新上線時,服務器上只會添加最後一個timpstamp。

但請記住,添加新數據時不會發生這種情況。當你這樣做的時候,所有的新數據都會根據你添加的時間在服務器上添加。這種情況也會在您刪除時發生。

希望它有幫助。

+0

感謝您的支持,但如果您提供某些信息鏈接或有關它的官方聲明,那將是非常好的。謝謝! –

+0

請查看[官方文檔](https://firebase.google.com/docs/database/android/offline-capabilities)。 –

+0

但我找不到官方說法,firebase不會存儲所有已設置密鑰的值或類似的值。 –