首页 > 解决方案 > 减少 Firebase 实时数据库负载

问题描述

我的目标是减少客户端(iOS/Android)和 Firebase 实时数据库服务器之间的流量。

我的理解是,通过启用磁盘持久化,以下监听器只会下载 users/uid 节点下的“更改”或“新”子节点。即使在应用程序重新启动后。

Database.database().isPersistenceEnabled = true
let ref = Database.database().reference()
ref.child(“users”).child(user.uid).observe(.value, with: { (snapshot) in…
// Only changed data will be sent/received and stored in a local cache
}

但是,我读过这可能不是这种情况 - 实际上,每次启动应用程序时都会重新下载 users/uid 下的整个节点。

见文章https://pamartinezandres.com/lessons-learnt-the-hard-way-using-firebase-realtime-database-c609b52b9afb

了解磁盘持久性功能的人能否确认启用磁盘持久性功能实际上是否会减少从 Firebase 服务器下载的数据量?

澄清 - 我想确认启用磁盘持久性是否按照我认为的方式运行。我希望来自该节点的数据仅下载一次并在本地存储,而不是每次打开应用程序时。如果数据发生变化,我的理解是*只有diff被下载。

标签: iosfirebasefirebase-realtime-database

解决方案


推荐阅读