首页 > 解决方案 > Firebase Cloud Firestore 快照听得太快

问题描述

嗨,我正在 React-Native 和 Invertase RN-Firebase 中创建一个应用程序。我第一次在我的新项目中使用 firestore。我注意到实时更新“快照”的行为似乎听得太快了。我担心这会破坏我的账单预算。

从我之前使用 Firebase Realtime-Database 的经验来看,从快照更新/侦听并不是那么快,它会每隔 4 到 10 秒检查一次,在 FIrestore 中它每毫秒侦听一次。

让我知道是否有办法减慢 Cloud Firestore 的快照侦听速度。

谢谢,

标签: firebasereact-nativegoogle-cloud-firestoresnapshot

解决方案


无法限制或配置触发的侦听器接收数据的频率 - 理论上,任何更改都应该几乎立即发送到您的应用程序,但实际上过程中存在一些延迟......导致您观察到 4-10 秒别处。Firestore 显然得到了更好的优化,因为您没有看到那么多延迟。

如果您担心预算或计费,我能给您的最佳建议是查看官方优化建议。这些是针对 RTDB 而不是 Firestore,但它们仍然是有用的建议。

请注意,除非数据发生变化,否则它不算作计费“读取”,除非您的数据几乎不断变化,否则您不必担心计费...查看包含此内容的Firestore 定价页面关于听众计费的解释性段落:

监听查询结果

Cloud Firestore 允许您收听查询结果并在查询结果更改时获取实时更新。

当您收听查询结果时,每次添加或更新结果集中的文档时,您都需要支付一次读取费用。当由于文档已更改而从结果集中删除文档时,您还需要支付读取费用。(相比之下,删除文档时,您无需支付阅读费用。)

此外,如果侦听器断开连接超过 30 分钟(例如,如果用户离线),您将被收取读取费用,就像您发出了全新的查询一样。


推荐阅读