V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
vincentxue
V2EX  ›  问与答

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

  •  
  •   vincentxue · 2016-01-11 16:16:02 +08:00 · 1581 次点击
    这是一个创建于 3050 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我一直有这个疑惑,但我总觉得这种常见的问题应该是有优雅的解决方案的。

    问题如下:

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

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

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

    有没有更优雅的解决方案?
    1 条回复    2016-01-11 16:24:31 +08:00
    Elethom
        1
    Elethom  
       2016-01-11 16:24:31 +08:00 via iPhone
    只記錄同步點和變更,同步時先鎖定本地版本記錄一個新的同步點,將本地變更上傳至伺服器合併,如果有衝突則提示用戶手動 resolve ,沒有衝突則將上一個同步點至當前同步點的變更更新到本地。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1939 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 16:18 · PVG 00:18 · LAX 09:18 · JFK 12:18
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.