我正在使用Google Firebase作为餐馆应用。我已将持久性设置为true。本地缓存适用于大多数用例。
当用户点击该项目时,我总是想要读取数据库中的最新值,忽略本地缓存中的内容。
现在,如果用户已经看过该项目,firebase将返回之前的值,并在从数据库返回更新的值后不久。
无法找到相关的api来读取db中的当前值而忽略docs中的本地缓存。
PS:我不想关闭persistenceEnabled。
提前感谢,
答案 0 :(得分:0)
这样做有一些技巧。一个技巧是在数据库引用上将keepSynced
标志设置为true。这将导致服务器将该引用中的更改推送到您的Firebase客户端,无论您当前是否正在侦听该引用的数据。这样,只要您有连接,该ref始终与服务器保持同步。但是,如果你没有连接,你仍然会收到本地缓存中的最新值,这可能不是你想要的。
要真正绕过本地缓存,您可以使用Firebase的REST API并直接查询后端。这允许您执行与SDK允许的大部分相同的操作,但直接通过HTTPS执行。有关详细信息,请参阅Firebase文档。