Parse platform 解析服务器:用远程数据更新本地存储的最佳方法是什么

Parse platform 解析服务器:用远程数据更新本地存储的最佳方法是什么,parse-platform,local-storage,parse-server,Parse Platform,Local Storage,Parse Server,我有一个用例,我必须用在解析服务器中所做的更改来更新本地存储中的类。我已经删除了解析服务器中的一些条目,并希望在用户设备上的应用程序本地存储中删除这些条目。最好的处理方法是什么。现在,我 从本地存储中取消绑定该类的所有对象 尝试从我的解析服务器获取数据并将其固定到本地存储 有更好的方法吗?将pin解析到本地数据存储不是作为设备和服务器之间同步数据的框架,而是通过提供数据的本地版本来加速应用程序,并避免在设备暂时没有数据连接的情况下应用程序变得不可用。因此,没有优化的方法在设备和后端之间同步数据

我有一个用例,我必须用在解析服务器中所做的更改来更新本地存储中的类。我已经删除了解析服务器中的一些条目,并希望在用户设备上的应用程序本地存储中删除这些条目。最好的处理方法是什么。现在,我

  • 从本地存储中取消绑定该类的所有对象
  • 尝试从我的解析服务器获取数据并将其固定到本地存储

  • 有更好的方法吗?

    将pin解析到本地数据存储不是作为设备和服务器之间同步数据的框架,而是通过提供数据的本地版本来加速应用程序,并避免在设备暂时没有数据连接的情况下应用程序变得不可用。因此,没有优化的方法在设备和后端之间同步数据

    你可以用几种方法来解决这个问题。对于大多数情况,我想说的是,只需取消钉扎和重新刻蚀就可以了。在几乎所有其他场景中,您最终会创建自己的同步服务,这可能很快变得非常复杂


    当然,您可以跟踪自上次同步以来已删除或更改的所有对象,然后仅取消绑定/重新获取这些对象,但这对于多个用户来说非常难以处理。到目前为止,最简单的方法是取消绑定全部,然后再次从服务器获取全部。如果这意味着要获取大量对象,您可能需要重新考虑您的逻辑,可能不保留那么多本地固定对象。

    如果删除本地存储中的所有条目,然后尝试从服务器获取和更新,我会看到另一个问题。比方说,在我的上一个会话中,我想在我的类中保存一个对象条目,但我没有internet连接。基本上,我在保存新记录时调用了
    pinInBackground()
    savefinally()
    。现在,在下一个会话中启动应用程序时,我有了internet,我尝试首先刷新本地存储,然后从服务器获取数据?我在上一个会话中创建的对象条目会丢失吗?是的,处理本地删除是另一个复杂性。但“pin”和“savefinally”是两种不同的操作。savefinally保证在连接恢复时远程保存对象,即使在此期间您也可以选择取消连接。我自己还没有测试过,但我认为您可能会面临savefinally和新的fetch之间的竞争条件,并且新保存的对象也不会由新的fetch返回。不过,我不能肯定这一点。