You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

关于计费自动重查询的确认:Firebase缓存读取规则问询

Firebase Firestore会话Inactive超30分钟后的缓存读取与计费规则确认

核心结论

当会话inactive超过30分钟后,Firebase Firestore不会优先读取本地非过期缓存,而是直接发起服务器查询,对应你例子中的选项A,会收取10次文档读取费用。

详细解释

Firebase Firestore的自动离线缓存,在会话inactive时长超过30分钟后,会被系统判定为"失效状态"——即便缓存本身未到过期时间,默认查询逻辑也会绕过缓存,直接向服务器请求最新数据并同步更新缓存。这一机制的设计目的是确保用户长时间离开后返回应用时,能获取到服务器端的最新数据,避免使用过时的缓存内容。

对应场景示例

假设你有一个返回10份文档的查询,且这些文档已被Firebase自动缓存。当用户inactive超30分钟后返回会话并执行该查询:

  • Firebase会直接向服务器请求这10份文档的最新版本
  • 系统会收取10次文档读取费用(而非仅1次默认读取费用)
  • 服务器返回数据后,会自动更新本地缓存

自定义缓存策略补充

如果需要强制优先读取缓存,可以通过手动指定查询来源实现,例如:

// Web示例:强制从缓存读取
db.collection("your-collection")
  .where("field", "==", "value")
  .get({ source: 'cache' })
  .then((querySnapshot) => {
    // 处理缓存数据
  });

但这属于自定义缓存架构的范畴,并非Firestore的默认行为。官方文档中提到的"重新计算并直接从服务器获取",正是指默认情况下的行为逻辑。

内容的提问来源于stack exchange,提问作者Nathan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 09:55:55