首页 > 解决方案 > 使用实时更新更新缓存数据

问题描述

我目前正在开发一个 android 应用程序,并且我使用 firestore 作为我的存储方法。我的应用程序中有一个功能,在用户选择一个城市后,它会下载它的所有商店。鉴于这些商店不经常更改,我使用一个标志来了解某个城市的商店之前是否已下载,以便我可以使用缓存数据而不是服务器数据。我的问题是,如果商店信息发生变化,添加商店或删除商店,用户获得更新数据的唯一方法是再次“强制下载”城市。

我想为一个城市添加一个实时监听器,而不是强制下载。这里的问题是我不知道,例如,如果我将所有存储都放在缓存中,并且存储“ABCD”突然更改并触发我的快照侦听器,它是否也会更新我的缓存数据?如果没有,有没有办法做到这一点?

谢谢!

标签: androidgoogle-cloud-firestore

解决方案


如果您没有为可能更改的感兴趣文档启用侦听器,则本地缓存中不会发生任何变化。您只需让该侦听器处于活动状态,以便在文档发生更改时对其进行更改,而这将花费文档读取。

考虑在您的后端使用 Firebase 云消息传递来告诉您的应用数据何时发生更改,并且它可以根据需要查询该数据。这将是一项相当大的工作量。


推荐阅读