我正在使用 firebase 实时数据库。 该项目的工作原理类似于聊天应用程序。 我们不断下载/上传。 但成本似乎太高了。每收到 1 条消息,所有数据都会重新下载。我可以做什么来降低成本?
而不是每次想到创建缓存时都重新下载数据。创建缓存时要注意什么? Firebase 提供哪些解决方案来降低实时数据库的成本?
谢谢,最诚挚的问候
定价页面非常清晰。实时数据库的成本基于:
哪一个影响最大实际上取决于你的成本来自哪里,这是你没有说的。但最常见的是看看是否可以通过本地缓存减少每个客户端下载相同数据的次数。如果您使用适用于 iOS 和 Android 的本机移动 SDK(您也没有提及),您通常可以通过
启用磁盘缓存来实现一些减少。
这里的概念可能是这样的:
我们有用户A和用户B
用户A向B发送消息 您应该有一个“未读消息”字段,用于保存每个用户有多少条未读消息
现在想象一下打开用户 B 的 caht
代码应该是这样的: 如果缓存中没有消息,则从 firebase 下载所有消息,然后将它们保存在缓存中。 如果缓存中有消息,则直接从缓存中显示它们。
如果用户B有未读消息: 检查缓存中是否有消息; -如果没有从 firebase 获取所有消息并将它们保存在缓存中。 -如果是,从缓存中获取消息,仅从firebase中获取新消息,然后将新消息添加到缓存中保存的消息中,将之前保存的消息和新消息都保存在缓存中并显示全部。