Firestore 中的快照侦听器指标究竟是如何工作的?
How exactly does the snapshot listener metric in Firestore work?
我正在构建一个 flutter 应用程序,我正在使用一个流来订阅 Firestore 查询结果。不幸的是,我不明白快照监听器指标是如何工作的,结合文档中的这个花絮:
27 个峰值是否意味着我已经以某种方式创建了 27 个听众(当我应该创建一个时)?我很困惑。
另请注意,我与我的应用进行了 0 次互动,只是离开了它 运行..
在 Firestore 中,每次添加 onSnapshot
方法时,都会为此用户创建一个新的快照侦听器。
因此,根据您的打印,您有 1 个用户连接到您的应用程序(1 个活动连接)并且该用户有 27 个听众。
因此,您似乎要么从 27 个 Firestore 查询中获得实时更新,要么没有关闭连接。
来自第 3 个参考,来自 Firebase 文档:
Let's say a user opens your app on their phone. The app then connects to Cloud Firestore and subscribes to 10 queries. This increases your metrics by 1 active connection and 10 snapshot listeners.
不好吗?
即使您没有为那些活跃的连接或听众付费,每次阅读/更新文档时,这都将算作一次新阅读,并且最终会收取费用。所以使用太多的听众并不是最好的做法。
怎么办?
我要说的第一件事是仔细检查您是否在关闭组件/视图后没有让侦听器保持打开状态。
如果你找到了,don't forget to detach them.
参考资料
我正在构建一个 flutter 应用程序,我正在使用一个流来订阅 Firestore 查询结果。不幸的是,我不明白快照监听器指标是如何工作的,结合文档中的这个花絮:
27 个峰值是否意味着我已经以某种方式创建了 27 个听众(当我应该创建一个时)?我很困惑。
另请注意,我与我的应用进行了 0 次互动,只是离开了它 运行..
在 Firestore 中,每次添加 onSnapshot
方法时,都会为此用户创建一个新的快照侦听器。
因此,根据您的打印,您有 1 个用户连接到您的应用程序(1 个活动连接)并且该用户有 27 个听众。
因此,您似乎要么从 27 个 Firestore 查询中获得实时更新,要么没有关闭连接。
来自第 3 个参考,来自 Firebase 文档:
Let's say a user opens your app on their phone. The app then connects to Cloud Firestore and subscribes to 10 queries. This increases your metrics by 1 active connection and 10 snapshot listeners.
不好吗?
即使您没有为那些活跃的连接或听众付费,每次阅读/更新文档时,这都将算作一次新阅读,并且最终会收取费用。所以使用太多的听众并不是最好的做法。
怎么办?
我要说的第一件事是仔细检查您是否在关闭组件/视图后没有让侦听器保持打开状态。 如果你找到了,don't forget to detach them.