[iOS]请教本地缓存与服务器数据同步的问题。

2016-01-11 16:16:02 +08:00
 vincentxue
我一直有这个疑惑,但我总觉得这种常见的问题应该是有优雅的解决方案的。

问题如下:

第一次请求服务器返回数据 1 、 2 、 3 、 4 。
本地存储数据 1 、 2 、 3 、 4 。

第二次请求服务器返回数据 1 、 3 。( 2 、 4 被删掉了)
本地存储如何删除服务器删除的 2 、 4 ?

想到的解决方案:
1 、每次请求返回直接删除本地全部数据,然后再插入。(简单粗暴)
2 、用 Set 取差集,删之。

有没有更优雅的解决方案?
1584 次点击
所在节点    问与答
1 条回复
Elethom
2016-01-11 16:24:31 +08:00
只記錄同步點和變更,同步時先鎖定本地版本記錄一個新的同步點,將本地變更上傳至伺服器合併,如果有衝突則提示用戶手動 resolve ,沒有衝突則將上一個同步點至當前同步點的變更更新到本地。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/249906

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX