Firebase 火力商店。快照上的“成本”

Ale*_*der 7 firebase vue.js google-cloud-firestore

我需要在页面上放置大约 20 个 Vue 组件。每个组件在安装时都会onSnapshot为自己创建一个,并相应地unsubscribe()在删除时创建。

const ref = firebase.firestore().collection('components').doc('comp1')

var unsubscribe = ref.onSnapshot(querySnapshot => {
  querySnapshot.forEach(doc => {
     ...
  })
}
Run Code Online (Sandbox Code Playgroud)

每个onSnapshot/的成本是多少unsubscribe

  1. 在执行时间的意义上
  2. 金钱意义上的(根据Firebase的价格)

例如,如果 1000 个用户中的每个用户在半小时内更新包含 20 个组件的页面 100 次,我将支付多少费用?

也许onSnapshot在整个collection组件上制作会更好?

Rod*_*ata 8

Firestore 文档中找到您需要的信息

监听查询结果

Cloud Firestore 允许您收听查询结果并在查询结果更改时获得实时更新。

当您收听查询结果时,每次添加或更新结果集中的文档时,您都需要支付一次读取费用。当某个文档因文档已更改而从结果集中删除时,您还需要支付读取费用。(相反,当文档被删除时,您无需支付阅读费用。)

另外,如果监听器断线超过 30 分钟(例如,用户下线),您将被收取读取费用,就像您发布了一个全新的查询一样

因此,每次更新集合中的记录时,所有订阅用户都将执行读取操作。您应该花时间估算您将拥有的活跃用户数量以及数据的数量/频率,这将有助于采用最适合您的应用程序的最便宜和最佳的解决方案。

我还添加了默认的Firebase 定价计算器,它位于页面底部,肯定会帮助您做出决定。

  • 我认为这意味着当用户回来并且数据更新时,尽管它不再是数据的“实时快照”,但您仍然会像以前一样被收费 (3认同)