firebase - Firebase Cloud Firestore 快照听得太快
问题描述
嗨,我正在 React-Native 和 Invertase RN-Firebase 中创建一个应用程序。我第一次在我的新项目中使用 firestore。我注意到实时更新“快照”的行为似乎听得太快了。我担心这会破坏我的账单预算。
从我之前使用 Firebase Realtime-Database 的经验来看,从快照更新/侦听并不是那么快,它会每隔 4 到 10 秒检查一次,在 FIrestore 中它每毫秒侦听一次。
让我知道是否有办法减慢 Cloud Firestore 的快照侦听速度。
谢谢,
解决方案
无法限制或配置触发的侦听器接收数据的频率 - 理论上,任何更改都应该几乎立即发送到您的应用程序,但实际上过程中存在一些延迟......导致您观察到 4-10 秒别处。Firestore 显然得到了更好的优化,因为您没有看到那么多延迟。
如果您担心预算或计费,我能给您的最佳建议是查看官方优化建议。这些是针对 RTDB 而不是 Firestore,但它们仍然是有用的建议。
请注意,除非数据发生变化,否则它不算作计费“读取”,除非您的数据几乎不断变化,否则您不必担心计费...查看包含此内容的Firestore 定价页面关于听众计费的解释性段落:
监听查询结果
Cloud Firestore 允许您收听查询结果并在查询结果更改时获取实时更新。
当您收听查询结果时,每次添加或更新结果集中的文档时,您都需要支付一次读取费用。当由于文档已更改而从结果集中删除文档时,您还需要支付读取费用。(相比之下,删除文档时,您无需支付阅读费用。)
此外,如果侦听器断开连接超过 30 分钟(例如,如果用户离线),您将被收取读取费用,就像您发出了全新的查询一样。
推荐阅读
- javascript - 如何从角色的频道中删除权限-discord.js?
- c# - Linq to SQL 返回列表对象
- python - 得分随着使用 PCA 的组件数量而增加
- java - 如何在 Java 中将泛型 pbject 作为方法参数传递?
- html - css transform translate 在y轴上不起作用
- java - 相机意图打开相机应用程序(仅第一次)
- javascript - js target.extend中的函数声明
- html - 当我收到 403 错误时,如何使用邮递员下载网页内容?
- python - 如何根据上下粉红色范围查找 roi_corners,以便在 python 中使用 opencv 对其进行模糊处理
- twitter-bootstrap - 如何让 jsGrid 使用 Bootstrap 样式?