代码之家  ›  专栏  ›  技术社区  ›  yonga springfield

Firebase firestore移动数据持久性(特别是Android)

  •  1
  • yonga springfield  · 技术社区  · 7 年前

    我想知道是否有可能增加firebase firestore数据库的本地缓存大小? 还想加深我对firebase firestore离线方式的了解

    移动设备上的数据持久性功能(特别是android)。 让我解释一下我的用例,然后您评估firebase firestore是否是我的选择。

    我需要一个本地数据库,可以平均每24小时同步一次,我需要它脱机工作并保存数据。主要的使用案例是:我在应用程序中集成了一个消息功能,就像每个人都希望在断开连接之前看到他必须发送和接收的消息一样,也就是说,即使断开连接,即使在手机重新启动后,他仍然可以在whatsapp上看到他不同的对话,这就是我希望我的应用程序遵循的方式,我想知道firebase firestore本地缓存是否为我提供了这样一种可能性,即即使在手机重新启动后也可以保持缓存,而无需连接到internet?我确实希望从本地缓存进行大量读取,但脱机时不会进行写入。

    总结一下我的问题,即使在没有连接到internet的情况下重新启动手机,本地缓存是否可以保存手机脱机时所做的更改?感谢大家的回答和提前阅读本文所花的时间。 请提供一些有用的教程链接,如果您知道其中任何一个,请展示如何使用它。

    1 回复  |  直到 7 年前
        1
  •  4
  •   Alex Mamo    7 年前

    本地缓存的大小取决于设备存储的大小。如果您想增加本地存储的大小,那么您只需要释放一些空间或购买一个新的硬件。设备上可存储的最大大小没有限制。

    云Firestore支持离线数据持久化。此功能缓存应用程序正在使用的云Firestore数据的副本,以便应用程序可以在设备脱机时访问数据。您可以写入、读取、侦听和查询缓存的数据。因此,云Firestore将您在设备上写入的数据持久化到本地数据库。因此,下次启动应用程序时,它确实能够读取相同的数据,即使设备从未连接到Firebase服务器。作为对你问题的回答,是的,它可以。

    但不要将云Firestore用作仅离线的数据库。它实际上被设计成一个在线数据库,可以在短时间到中断连接的中间阶段使用。脱机时,它将保留所有写入操作的队列。随着此队列的增长,本地操作和应用程序启动将变慢。 没什么大不了的,但随着时间的推移,这些可能会累积起来。但请记住,即使重新启动设备,所有这些操作都将持续。你不会丢失任何数据。