gpt4 book ai didi

rest - 恢复连接后将离线本地数据与 REST API 同步的策略

转载 作者:行者123 更新时间:2023-12-03 23:07:48 24 4
gpt4 key购买 nike

我有一个混合应用程序,可在 android 和浏览器上使用。两个客户端都使用 REST API 和 websockets。数据存储在 localStorage 中。我希望移动设备能够修改离线资源,并在连接到互联网后与API同步数据。

如何做这样的数据对比连接到 Internet 并获得正确的版本后?

问题场景:

  • 用户拥有从手机 API 获取的笔记列表。
  • 用户关闭互联网
  • 用户使用 JWT token 保持登录状态。修改笔记、删除另一条笔记、添加新笔记或对笔记执行任何其他操作
  • 用户打开互联网。
  • 这里应该发生什么?

  • 我对如何解决这个问题的想法:
  • 创建同步端点并在收到连接时通过 updated_at 列比较集合。
  • 比较与此不同的对象 utility
  • 最佳答案

    根据您对应用程序的抱负,您可能希望实现一种能够处理多个笔记列表的适当同步机制。

    简单的方法 : 依靠更新日期,您可以比较版本日期并决定最后一次写入获胜。

    艰难之路 : 我建议你看看CRDTs .这些类型的数据结构确保状态最终保持一致,使其非常适合您的需求。
    存在许多实现,这取决于您的工具链,例如 Logux为 javascript 提供了一些 CRDT。

    您还可以依赖用于数据同步和冲突解决的数据库,如 https://couchdb.apache.org//https://pouchdb.com/。另外 https://riak.com/products/riak-kv/riak-distributed-data-types/index.html?p=10947.html 提供 CRDT 支持。

    如果您想挖掘合并文本数据,我建议您查看 Diff-Match-Patch Google 为其 Docs 应用程序开发的算法,有许多端口可用。

    当心为应用程序实现真正的离线和同步功能绝非易事。

    关于rest - 恢复连接后将离线本地数据与 REST API 同步的策略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61155665/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com