开启持久化时Firestore存在重叠结果的不同查询读计数如何计算
Firestore开启持久化后的重合查询读计数说明
结论
你描述的场景下,query2产生的读计数为10。
计算逻辑
- Firestore的账单读计数仅统计从后端服务器实际拉取的文档数量,本地持久化缓存命中的文档不会计入读计数。
- 执行query1时返回的10个文档已经同步到本地持久化缓存,只要这部分文档在两次查询的间隔内没有发生服务端更新,执行query2时5个重合文档会直接命中缓存,无需重新拉取。
- query2总计需要返回15个文档,减去5个缓存命中的重合文档,剩余10个需要从服务端拉取,因此产生10次读计数。
特殊场景说明
如果5个重合的文档在两次查询间隔发生了服务端写入更新,执行query2时这部分文档会重新从服务端拉取,此时读计数会高于10;如果执行query2时设备完全离线,所有结果均从本地缓存返回,不会产生任何读计数。
内容的提问来源于stack exchange,提问作者Praveena
相关产品推荐
相关产品推荐

