首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用firebase时的脱机数据库功能

问使用firebase时的脱机数据库功能
EN

Stack Overflow用户
提问于 2022-01-07 10:21:23
回答 1查看 54关注 0票数 4

我是Firebase的新手,我正在研究它是否符合我们的需求。它有我们需要的一切,除了离线数据库。嗯,我知道它有能力在用户离线时缓存更改,然后在用户联机时同步更改,但这不是我要说的。

由于firebase的成本很高,我们希望我们的免费用户能够离线使用应用程序,无论用户是否在线,数据都不应该同步到云端,只对订阅用户使用sync。

我们尚未深入考虑的一种解决方案是使用离线DB,如SQLite和:

( a)当用户订阅时,将数据移动到firebase

b)如果用户取消订阅,则将数据移动到SQLite

但是这个解决方案需要两个完全不同的编码--同样的东西。从SQLite迁移到防火墙和从防火墙迁移到SQLite的额外代码。是否有更好的解决方案来使用Firestore数据库,同时也具有完整的脱机数据库功能?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-01-07 11:20:22

在我看来,你的解决方案是可行的。但是有些情况你应该考虑进去。

当用户订阅时,将数据移动到Firebase。

据我所知,是一个或另一个。在这种情况下,当用户被订阅时,您应该始终考虑锁定本地SQLite数据库以便写入,直到all将数据写入Firebase服务器。当操作完成时,您才应该允许用户在云中写入数据。

为什么需要这个?总是有一致的数据。

b)如果用户取消订阅,则将数据移动到SQLite。

如果用户取消订阅,您可以考虑使用与上面几乎相同的机制。但是首先,您必须清除本地数据库,因为它将包含过时的数据,然后将所有数据从Firestore复制到SQLite数据库中。

编辑:,您也可以考虑从本地缓存复制数据,而不是从Firebase服务器获得它。这将意味着不需要任何费用。

但是这个解决方案需要两个完全不同的编码--同样的东西。

这是正确的,但由于离线数据库和联机数据库都共享相同的字段,操作可能没有想象的那么复杂。只需对用户对象中的属性进行附加实时侦听器,很可能称为“订阅”,它可以保存true/false的值,并在发生更改时采取相应的操作。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70619763

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档