如果我在一个Firebase文档上注册多个侦听器,是否会对多次读取同一快照收取费用?

如果我在一个Firebase文档上注册多个侦听器,是否会对多次读取同一快照收取费用?,firebase,google-cloud-firestore,Firebase,Google Cloud Firestore,我有一个文档,我想为几个不同的组件监听,但是只为每个组件注册一个监听器比注册一个“主”监听器对象并传递它更干净。我是要按每个听众收费,还是就好像我只有一个听众一样?不确定是否有一个Firebase连接分派到所有回调,或者这是否会打开多个websocket连接或其他任何连接。服务器上发生的读取(或检查)会向您收费 如果有两个侦听器处于活动状态,则其中最多一个侦听器需要从服务器获取数据。第二个侦听器将能够从缓存中读取它 如果使用get()调用而不是侦听器,结果会有所不同。由于在使用get()时没有活

我有一个文档,我想为几个不同的组件监听,但是只为每个组件注册一个监听器比注册一个“主”监听器对象并传递它更干净。我是要按每个听众收费,还是就好像我只有一个听众一样?不确定是否有一个Firebase连接分派到所有回调,或者这是否会打开多个websocket连接或其他任何连接。

服务器上发生的读取(或检查)会向您收费

如果有两个侦听器处于活动状态,则其中最多一个侦听器需要从服务器获取数据。第二个侦听器将能够从缓存中读取它

如果使用
get()
调用而不是侦听器,结果会有所不同。由于在使用
get()
时没有活动的侦听器,因此在调用之间可能会更改文档,每次调用都必须与服务器检查数据是否有更新,从而导致收费读取。

服务器上发生的读取(或检查)会向您收费

如果有两个侦听器处于活动状态,则其中最多一个侦听器需要从服务器获取数据。第二个侦听器将能够从缓存中读取它


如果使用
get()
调用而不是侦听器,结果会有所不同。由于使用
get()
时没有活动的侦听器,因此在调用之间可能会更改文档,每次调用都必须与服务器检查数据是否有更新,导致收费阅读。

据我所知,Firestore将对每次阅读收费,而不管来自同一个应用程序,因此每次阅读都将收费。我相信他们甚至建议尽可能多地拉,然后尽可能多地执行客户端。他们甚至对安全规则中要求的读取收费,所以如果你有预算意识,你也应该注意这一点。查看Firestore YouTube视频(官方),我不记得是哪一个,但他们有一个是关于Firestore如何收费的。例如,我将我的客户端日志存储在Firestore中,但我一次将所有日志作为一个请求上传,并通过一个请求将它们全部提取,然后在客户端执行过滤等操作。据我所知,Firestore将对每次读取的日志收费,无论其内容如何来自同一个应用程序,因此每次阅读都要收费。我相信他们甚至建议尽可能多地拉,然后尽可能多地执行客户端。他们甚至对安全规则中要求的读取收费,所以如果你有预算意识,你也应该注意这一点。查看Firestore YouTube视频(官方),我不记得是哪一个,但他们有一个关于Firestore收费的视频。例如,我将我的客户日志存储在Firestore中,但我一次将所有日志作为一个请求上传,并通过一个请求将其全部提取,然后在客户端执行过滤等操作。