我计划切换到Firebase作为我的Android应用程序的本地和在线数据库。根据文档,Firebase首先存储对本地数据库的更改,然后在网络可用时将其推送到联机数据库。
在我的应用程序中,我会把一些关于用户的非常敏感的数据放到数据库中。下面是我的问题,
谢谢。
发布于 2017-06-20 12:43:19
在一般意义上,可以在脱机时使用Firebase实时数据库。然而,人们的期望是,这个应用程序应该大部分时间都是连接的,并且当它具有连接性时,离线时发生的对数据库的更改将是同步的。100%脱机使用并不是真正支持的用例,因为规范数据存储在服务器上。 数据库的本地副本仅限于(10 on,至少在Android上是这样的)。如果您打算在脱机时写入超出此限制的数据库,则它将删除缓存数据的一部分,以便为所添加的任何内容腾出空间。然后,你将无法再读取那些被驱逐的值,直到应用程序恢复在线。更糟糕的是,当返回在线时,管理越来越多的写入应用程序会对应用程序造成负担,所以您不想在脱机时计划大量的写入。 此外,如果为数据库定义了权限或验证,则只能在服务器上检查这些权限或验证。因此,如果您正在脱机编写本地缓存,并且不再有活动的侦听器,您可能永远不知道这些写入是否失败。 由于这些警告,最好不要将Firebase实时数据库视为“脱机”数据库。最好把它看作是一个“同步”数据库,在存在连接性的情况下,主动同步到服务器。
https://stackoverflow.com/questions/37562797
复制相似问题