首页 > 解决方案 > 我可以使用 Firestore 快照侦听器仅侦听缓存中的更改吗?

问题描述

截至目前,我想将 Firestore 的 get 函数与文档游标一起使用来对我的数据进行分页。但是,当它们在设备上本地更改时,我希望有某种方式在本地更新查询结果中的项目。理想情况下,如果有某种方法可以使用快照侦听器仅侦听缓存中的更改,那么我将能够大大减少总读取次数,因为我只需要获取第一个(10?或您设置的任何限制) ) 来自服务器的文档而不是整个集合,如果用户群增长,可能会有 1000 多个文档。我倾向于可能不得不使用我自己的一些自定义缓存实现,但是当 Firestore 已经提供缓存功能时,这似乎是多余的。任何见解将不胜感激!:)

标签: iosswiftfirebasegoogle-cloud-firestore

解决方案


如果您使用onSnapshot侦听器并为 Firestore 客户端禁用网络,这确实是可能的。

请记住,Firestore 的本地缓存不使用与服务器端实现相同的索引策略,并且您通常看到的 Firestore 性能保证仅适用于服务器端。通常:性能最初会很好,但如果您离线时间更长,性能会变得更差。


推荐阅读