Firestore定价疑问:实时更新监听器按1次读取还是数据变更次数计费?
Firestore实时更新监听器的计费规则详解
我来给你把这个计费逻辑说清楚——每次数据变更都会产生一次读取计费,而不是只算初始的1次。
具体细节拆解一下:
- 当你第一次设置实时更新监听器(比如用
onSnapshot方法)时,Firestore会先返回当前监听目标(单个文档或集合)的完整数据,这会被计为一次(或对应文档数量的)读取操作。 - 之后,每当监听的目标发生数据变更(比如文档内容修改、集合新增/删除文档),Firestore会把更新后的内容推送给你的监听器,每一次这样的推送都会按照实际返回的文档数量来计费。
举个直观的例子帮你理解:
如果你监听一个每秒都会更新的单个文档:
- 监听器启动时,读取当前文档内容 → 1次读取计费
- 第1秒文档更新,监听器收到新数据 → 第2次读取计费
- 第2秒文档再次更新,监听器收到新数据 → 第3次读取计费
- 以此类推,每一次数据变更都会产生新的读取费用
如果你监听一个集合,假设初始有5个文档:
- 监听器启动时,读取这5个文档 → 5次读取计费
- 之后集合里有2个文档发生了修改,Firestore推送包含这2个更新文档的快照 → 2次读取计费
- 如果集合新增了1个文档,推送这个新文档的快照 → 1次读取计费
所以如果你的场景是每秒都有数据变更,使用实时监听器的话,每秒都会产生对应的读取费用,这个成本是需要提前评估的。
内容的提问来源于stack exchange,提问作者Monu
相关产品推荐
相关产品推荐

