仅在离线模式下使用Firebase Firestore



我只想在我的应用程序中使用一种持久性方法,并且正在为我的高级/付费用户使用Cloud Firestore。

是否也可以使用Firestore仅在离线模式下使用Firestore,以便我不产生费用?

Cloud Firestore是一个在线数据库,在短期或更长的时间内离线时继续工作。但这仍然主要是一个在线数据库,不应用作完全离线数据库。

这样做的一个原因是,Firestore将本地突变保留在单独的队列中,直到将其授予服务器为止。当查询/读取命中本地数据时,Firestore客户端将其从服务器获得的缓存读取与本地突变相结合。随着局部突变的队列的增长,此操作越来越慢。只要客户偶尔将数据同步到服务器,这种放慢速度就不会显着。但是,如果您将Firestore用作完全离线数据库,它将随着时间的流逝而变得过时。

为了很好地解释Firestore客户在引擎盖下的工作方式,请查看Firestore JavaScript SDK中的这些(长(代码评论:

  • 持久性类,负责将数据存储在本地磁盘上

  • 本地商店类,该类别(a.o.(本地缓存和本地突变的读数。

如果您需要离线数据库,请勿使用firebase。Firebase将来会花费您巨额资金。阅读具有3年以上Firebase用法经验的不快乐的Firebase客户的全文。

可悲的是,我们一直在使用Firebase作为目标计仪应用程序(Android和iOS(,重量表应用程序(Android(。我们的用户已经增长了多年,现在我们有大约100,000个活跃用户的目标计仪应用程序。其中约95%是免费用户。Firebase数据库的成本正在迅速增长,我们无法阻止免费用户数据同步到Firebase Online数据库。我们已决定将另一家公司转换为我们的未来项目。不要犯同样的错误。如果您的应用需要离线数据库(我想大多数应用程序确实需要它(,那么无论如何,避免使用Firebase。移至其他解决方案,例如AWS。

我已经就这个荒谬的问题联系了Google Firebase团队。我只能想象一个方案为什么Google Firebase团队可以防止完整的离线功能。原因是因为Firebase团队很贪婪。毕竟,如果数据库离线,它们如何使您付款?我们爱上了Google的每种产品。我们甚至在iOS One之前生产Android版本,以支持Android和Google。Firebase产品很棒,但是这种"有目的"的离线功能是可耻的。Firebase Team和Google的耻辱。

另一种方法是允许用户创建帐户并提供试用期。如果他们决定注册高级访问权限,则所有数据已经同步到Firestore。这并不能解决您只想拥有本地访问权限,但可能是您可以采取的不同选择。

相关内容

  • 没有找到相关文章

最新更新