firebase [已关闭]

szqfcxe2  于 2022-11-25  发布在  其他
关注(0)|答案(1)|浏览(102)

已关闭。此问题为opinion-based。当前不接受答案。
**想要改进此问题吗?**请更新问题,以便editing this post可以使用事实与引用来回答.

昨天关门了。
Improve this question
我知道类似的问题已经提出了几次,但我权衡双方的利弊,想看看我是不是错了。
我有一个应用程序,它有一个聊天页面。每个聊天对象由一个firestore文档表示。我目前的方法实际上是从Typesense加载futures同步到Firestore,因为它便宜得多,而且查询效果更好。缺点是,由于数据是futures,显然不会有实时更改,刷新屏幕会导致所有数据的重新加载。
另一方面是流,因为他们将有实时数据更新和刷新不会中断其他数据存在。但是,它似乎更昂贵。如果100个用户从流方法加载100个聊天,它可以总结,同时,如果同样的情况下发生在未来的方法,它的成本将大大降低。
基于这些原因,我现在倾向于未来的方法,但我仍然怀疑这是否最好的解决方法,是否有我没有考虑过的地方?谢谢!

piah890a

piah890a1#

在您描述的示例中,Stream应该是您的首选解决方案。
原因如下:

    • 1-"聊天页面"**:如果没有实时更新,则无法实现此功能。
    • 2-Future**(毫无疑问,即使通过Typesense也是如此)将花费更多的成本,因为您需要多次刷新数据。
    • 3-Stream:**不是很贵,因为您只需为实际"更改"的文档付费,如此处所述。
    • 监听查询结果**

Cloud Firestore允许您收听查询结果,并在查询结果发生变化时获得实时更新。
当您收听查询结果时,每次新增或更新结果集中的文件时,您都会被收取读取费用。当文件因为变更而从结果集中移除时,您也会被收取读取费用。(相反地,当文件被删除时,您不会被收取读取费用。)

相关问题