【问题标题】:Saving Firebase RTDB bandwidth by performing initial sync from JSON file通过从 JSON 文件执行初始同步来节省 Firebase RTDB 带宽
【发布时间】:2021-06-11 05:24:15
【问题描述】:

Firebase 实时数据库提供强大的客户端同步功能……但它似乎确实需要相当高的带宽费用。

因此我想知道是否可以在客户端上执行“初始同步”,可以说,我们从其他地方加载相当新的数据库版本(带宽费用较低) ,然后让 Firebase SDK(flutterweb)从那里同步,而不是下载数据库的所有必需部分。也许是“从 JSON 加载”之类的函数或类似函数。

看到 Firebase SDK 似乎如何在客户端本地存储一些状态(用于离线操作)并再次在线与 Firebase 同步,我想知道是否有可能:

  1. 将本地状态设置为从其他来源下载的“最新版本”以及该版本的时间戳
  2. 诱使客户端 SDK 认为我们正在从“离线”状态恢复
  3. 然后让 SDK 与 Firebase 服务器通信以获取自上次时间戳以来的更改

是否有任何方法可以通过从更便宜的来源执行初始同步来达到节省带宽的效果?提前致谢!

【问题讨论】:

    标签: javascript firebase flutter firebase-realtime-database


    【解决方案1】:

    不幸的是,每个get() 和每个实时侦听器都会从数据库中加载它需要的所有数据。我在开始使用 Firebase RTDB 时也有同样的想法,但不幸的是,目前还不可能。

    减少带宽的唯一方法是尽可能以更小的块读取数据。

    【讨论】:

      【解决方案2】:

      您可能想看看 AceBase,它是 Firebase RTDB 的开源替代品。它提供相同的功能,具有强大的索引和查询选项、离线支持、同步等。易于设置,您可以将其托管在您想要的任何地方。您甚至可以将它用作浏览器中的独立实时数据库,因此您也可以将它与 Firebase 结合使用,在您的前端和后端数据库之间执行自定义同步。 AceBase 是免费的,其完整的源代码是公开的。

      【讨论】:

        猜你喜欢
        • 2014-01-16
        • 1970-01-01
        • 1970-01-01
        • 2010-09-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多