【问题标题】:Firebase offline persistence - Upfront caching possible?Firebase 离线持久性 - 可以进行前期缓存吗?
【发布时间】:2021-12-26 21:04:12
【问题描述】:

我正在使用 Cloud Firestore 数据库开发 Firebase Web 应用程序。现在 我正在试验offline persistence,它目前正在按预期工作。到目前为止,我遇到的唯一缺点是只有在我已经获取数据时才会缓存数据(这是有道理的)。

我想让我的应用程序中的一些页面/数据可以离线访问。这只有在用户在离线之前导航到这些页面时才有效。

是否有任何技术可以将数据添加到 Firebase 缓存?诸如“使这个和那个集合/查询离线可用”之类的东西?这可能被称为前期缓存。

提前感谢您的任何提示!

【问题讨论】:

标签: firebase google-cloud-firestore offline-caching


【解决方案1】:

这曾经是不可能的(正如 Soorya 回答的那样),但随着 Firestore content bundles 的引入,这已成为可能。有了这些,您可以create a bundle(例如作为发布过程的一部分),将其作为包含的二进制文件包含在您的应用程序中,然后在应用程序首次加载到用户设备上时使用ingest the bundle into Firestore。除了链接的文档,我还建议您查看serving bundles 上的解决方案页面。

【讨论】:

  • 目前还不知道内容包,看起来很有趣。尽管执行所需的查询有什么好处,例如点击一个按钮?据我了解,如果某个查询经常被重复使用,那么内容包很有用。但是在我的情况下,查询结果取决于当前登录的用户。假设用户 1 可以访问项目 A、B 和 C;用户 2 到项目 D、E 和 F。创建和使用内容包在这里不会有效果,因为每个用户的查询结果都不同,对吧?
  • Bundles 提供了一种方式(事实上唯一的方式)将数据插入到客户端的带外缓存中。它们是您问题的字面答案:“是否有任何技术可以将数据添加到 Firebase 缓存?”
【解决方案2】:

请参考接受的答案,这是一个更好的解决方案

------------------ 我的原始答案 --------------- ---------------

没有官方的方法可以做到这一点。但是,有一个黑客可以实现 前期缓存。只需在您的收藏中读取所需的数据 初始应用打开或应用空闲时。

注意:这可能会增加您的 Firestore 读取次数!!

但这肯定会奏效。

【讨论】:

    猜你喜欢
    • 2017-04-05
    • 1970-01-01
    • 2019-11-22
    • 1970-01-01
    • 2021-10-27
    • 2019-05-22
    • 2018-10-25
    • 2020-11-22
    • 2014-08-16
    相关资源
    最近更新 更多