移动设备(特别是 Android)上的 Firebase firestore 数据持久化

问题描述 投票:0回答:1

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

移动设备(特别是安卓)上的数据持久化功能。 让我解释一下我的用例,然后您评估一下 firebase firestore 是否适合我。

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

总结我的问题,即使在手机重新启动后没有任何连接到互联网的情况下,本地缓存是否可以保留手机离线时所做的更改?感谢大家的回答以及花时间提前阅读本文。 如果您确实了解其中任何一个,请务必包含一些有用的教程链接,展示如何使用它。

android firebase caching offline google-cloud-firestore
1个回答
4
投票

编辑:2023-13-11

现在默认缓存大小阈值设置为 100 MB。您还可以为自定义阈值配置“setCacheSizeBytes”,但最小值为 1 MB。


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

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

但请勿将 Cloud Firestore 用作仅限离线的数据库。它实际上被设计为一个在线数据库,可以在短期到中期的断开连接期间工作。离线时,它将保留所有写入操作的队列。随着此队列的增长,本地操作和应用程序启动速度将会减慢。 没什么大不了的,但随着时间的推移,这些可能会增加。但请记住,即使您重新启动设备,所有这些操作也将持续存在。您不会丢失任何数据。

© www.soinside.com 2019 - 2024. All rights reserved.