我正在使用Firebase允许用户保存有关其登录配置文件的某些信息。总共我有4个不同的集合,所有集合都包含与UID匹配的文档。
网站加载完毕后,我需要立即访问给定用户UID的所有4个集合中的数据。这意味着现在,每当用户重新加载我的应用程序时,它们都会生成4个get请求。但是,我的应用程序的用户往往不经常更改其存储的信息(也许每20次左右加载一次),因此实际上不需要每次都重新请求此数据。
我已经采取措施将所有这些数据缓存在用户的浏览器本地存储中,但这是我的问题所在:我怎么知道我缓存的数据何时过时了?
过去,我创建了类似的缓存机制,这些缓存机制最终依赖于“版本”标志。数据源和用户的本地存储都包含“版本”。当两者都匹配时,应用程序知道它具有最新数据,但是当它们不同步时,应用程序知道它需要重新请求数据。每当发生影响用户的更新时,数据源上的“版本”标志都会最终更改。
理想情况下,我想结束此流程:
是否可以用Firebase做类似的事情?现在,如果每次修改用户数据以更改此版本标志,都不必生成额外的set调用,我将无法实现。
如果这不可能,那么我怎么知道用户的数据何时需要更新而又不会用完多个请求?
如果有帮助,我正在使用Firestore,这是一个没有后端的Web应用程序。