ios - 我可以使用 Firestore 快照侦听器仅侦听缓存中的更改吗?
问题描述
截至目前,我想将 Firestore 的 get 函数与文档游标一起使用来对我的数据进行分页。但是,当它们在设备上本地更改时,我希望有某种方式在本地更新查询结果中的项目。理想情况下,如果有某种方法可以使用快照侦听器仅侦听缓存中的更改,那么我将能够大大减少总读取次数,因为我只需要获取第一个(10?或您设置的任何限制) ) 来自服务器的文档而不是整个集合,如果用户群增长,可能会有 1000 多个文档。我倾向于可能不得不使用我自己的一些自定义缓存实现,但是当 Firestore 已经提供缓存功能时,这似乎是多余的。任何见解将不胜感激!:)
解决方案
如果您使用onSnapshot
侦听器并为 Firestore 客户端禁用网络,这确实是可能的。
请记住,Firestore 的本地缓存不使用与服务器端实现相同的索引策略,并且您通常看到的 Firestore 性能保证仅适用于服务器端。通常:性能最初会很好,但如果您离线时间更长,性能会变得更差。
推荐阅读
- json - JSON 中位置 0 的意外标记 m(Ubuntu 上的角 5)
- python - 在没有 for 循环的情况下更改特定索引处的大型数组中的条目
- java - 让 HmacSHA1 Java Hash 匹配 Powershell Hash
- r - 根据组内日期比较组合数据集
- aspnetboilerplate - AbpApiExceptionFilterAttribute - 需要一个值,但请求中不存在
- php - PHP:如何在另一个 php 文件中从 _POST 中获取变量(使用 slim)
- api - 如何在蓝图文档标准中描述“multipart/form-data”请求?
- kubernetes - 如何为 Kubernetes 的 Ingress 分配公共 IP
- c++ - 实现 AVL 树
- ruby-on-rails - create 方法不适用于推文 - 包含错误“找不到没有 ID 的用户”