Firebase 提供哪些解决方案来降低实时数据库的成本?

问题描述 投票:0回答:2

我正在使用 firebase 实时数据库。 该项目的工作原理类似于聊天应用程序。 我们不断下载/上传。 但成本似乎太高了。每收到 1 条消息,所有数据都会重新下载。我可以做什么来降低成本?

而不是每次想到创建缓存时都重新下载数据。创建缓存时要注意什么? Firebase 提供哪些解决方案来降低实时数据库的成本?

谢谢,最诚挚的问候

firebase firebase-realtime-database
2个回答
1
投票
Firebase 的

定价页面非常清晰。实时数据库的成本基于:

    您在数据库中存储的数据量。
  • 从数据库读取的数据量。
所以如果你想降低成本,这就是你需要注意的两个因素。

哪一个影响最大实际上取决于你的成本来自哪里,这是你没有说的。但最常见的是看看是否可以通过本地缓存减少每个客户端下载相同数据的次数。如果您使用适用于 iOS 和 Android 的本机移动 SDK(您也没有提及),您通常可以通过

启用磁盘缓存来实现一些减少。


0
投票
您应该找到一种方法,使用 limitToLast() 和其他标志来仅下载新消息,并将它们添加到以前下载的消息中。

这里的概念可能是这样的:

我们有用户A和用户B

用户A向B发送消息 您应该有一个“未读消息”字段,用于保存每个用户有多少条未读消息

现在想象一下打开用户 B 的 caht

代码应该是这样的: 如果缓存中没有消息,则从 firebase 下载所有消息,然后将它们保存在缓存中。 如果缓存中有消息,则直接从缓存中显示它们。

如果用户B有未读消息: 检查缓存中是否有消息; -如果没有从 firebase 获取所有消息并将它们保存在缓存中。 -如果是,从缓存中获取消息,仅从firebase中获取新消息,然后将新消息添加到缓存中保存的消息中,将之前保存的消息和新消息都保存在缓存中并显示全部。

© www.soinside.com 2019 - 2024. All rights reserved.