大家好,我刚刚接触使用LeanCloud,研究了一番之后觉得LeanCloud确实很强大,很方便。目前准备把数据存储转到LeanCloud上来。但是同时,又有一个疑问不知道该如何解决。

在使用leanCloud之前,我们的程序都有一个本地数据库,用来存储用户产生的“跟他个人相关的数据”,我们做的是健身APP,所以就会有“锻炼数据”,比如“上午XXX点完成了某个运动”这样的数据。这些数据目前都存在本地数据库里,我们的APP有一个专门展示每天锻炼数据的地方,会从数据库调去这些数据。

我看了一遍LeanCloud的文档,里面提到有一个本地的Cache,我在想,我们是否可以抛弃本地数据库,直接靠这个Cache和云端的数据库来完成业务呢?

我们的需求很简单:
1.支持用户同时使用多个设备,交叉使用APP,保证APP数据的一致性
2.用户首次使用新设备打开APP时,能够同步全部用户数据
3.能够在本地便捷地进行条件数据查询以及排序等操作(如果没有网的时候)

不知道是否可以这样做?或者说,这样做会有什么问题?
非常感谢~

我倒过来回答你的问题吧。
3,能够在本地便捷地进行条件数据查询以及排序等操作
这一点估计还是需要你使用本地数据库来存储。LeanCloud 在本地是有缓存,可以支持网络不好的时候数据先存到本地,等有网络的时候再上传,也就是 saveEventually 的方式。但是这种方式并不能支持本地数据的查询和排序,要能够很方便地支持你这里所说的数据浏览方式,还是需要一个本地数据库才可以做到。
但是你可以只在本地存储少量的最新数据,在有网络的时候,把本地数据上传到 LeanCloud 云端,这样结合云+local 的方式来无限制地存储数据。

2,用户首次使用新设备打开APP时,能够同步全部用户数据
这个没有问题,应用层你可以判断用户是否在新设备上打开 app,如果是的话,直接从 LeanCloud 云端下载下这个用户的数据即可,多少随意。

1,支持用户同时使用多个设备,交叉使用APP,保证APP数据的一致性
只要把数据上传到了 LeanCloud 云端,我们肯定可以保证数据是完全一致的;对于存储在本地,还来不及上传的数据,你是做不到一致的,不过这一点关系应该不大,因为最终可以完成数据上传,达到多设备一致。

2 人赞了这个帖子.

非常感谢!