我是移动开发人员.我想只有一种用于在app中保存数据的工具(没有其他数据库).
例如:非高级用户仅在离线模式下使用app中的数据,当他成为高级用户时,我们可能会将数据与云同步.
这种能力存在吗?怎么实现呢?
解决方法:
Cloud Firestore是一个在线数据库,可在您离线很短或更长时间后继续工作.但它仍然主要是一个在线数据库,不应该用作完全脱机的数据库.
其中一个原因是Firestore将本地突变保留在单独的队列中,直到它们被提交到服务器.当查询/读取命中本地数据时,Firestore客户端将从服务器获取的缓存读取与本地突变组合在一起.随着本地突变队列的增长,此操作变慢.只要客户端偶尔将数据同步到服务器,这种减速就不会很明显.但是,如果您将Firestore用作完全脱机的数据库,则随着时间的推移它将变得过高.
有关Firestore客户端如何工作的一个很好的解释,请查看Firestore JavaScript SDK中的这些(长)代码注释:
> the persistence class,负责将数据存储在本地磁盘上
> the local store class,处理(a.o.)来自本地缓存和本地突变的读数.