firebase 同一文档的多个订阅上的Web Firestore行为

ylamdve6  于 2023-05-18  发布在  其他
关注(0)|答案(1)|浏览(106)

如果我在同一个应用程序中多次调用文档X上的onSnapshot(假设为Locations/x),Firestore Web客户端是否通过组合订阅来优化?
即:
1.每次文件更新时,是否需要支付一次或多次读取费用?
1.我的客户会收到多个网络呼叫还是每次文档更新只收到一个?
我正在使用Web Firebase v9.16.0

h6my8fg2

h6my8fg21#

如果我在同一个应用程序中对文档X(比如说Locations/x)多次调用onSnapshot,Firestore Web客户端是否会通过合并订阅来优化它?
默认情况下,禁用Web的脱机持久性。因此,如果您希望拥有数据库的本地副本,则必须通过调用enablePersistence方法来启用它。这意味着当附加侦听器时,必须为查询返回的每个文档支付读取费用。所有后续调用都将从该高速缓存中读取,但前提是Firebase服务器上没有任何更改。所以如果你读了一个文档,那么你就必须为一次阅读付费。所有其他读操作都将来自该高速缓存。所有来自该高速缓存的读取都没有成本。但请记住,根据有关定价的官方文档:
如果启用了离线持久性,并且监听器断开连接超过30分钟(例如,如果用户离线),则将向您收取读取费用,就像您发出了全新的查询一样。
所以如果你离线超过30分钟,当监听器重新连接时,你必须为新的读取付费。
1.每次文件更新时,是否需要支付一次或多次读取费用?
更新操作与读取操作没有任何关系。因此,当您更新文档时,没有应该支付的读取操作。
1.我的客户会收到多个网络呼叫还是每次文档更新只收到一个?
连接监听器后,每次更新都会获得一个连接。不会触发其他任何内容。

相关问题