离线优先的Webapp本地存储同步到MySQL

时间:2019-02-08 10:23:26

标签: javascript mysql html5

我正在开发一个脱机优先的Webapp(HTML5和JS),用于收集数据,该应用程序应在线时同步到MySQL服务器。我还需要从MySQL数据库中获取一个子集,以进行离线搜索(选择用于数据收集的类别/属性)。

总结一下:

  1. 从MySQL获取类别并将其存储在可查询的客户端数据库中
  2. 收集数据并存储在客户端数据库中
  3. 将数据在线同步到MySQL(最好通过PHP脚本)

我已经研究了PouchDB,但是我认为这不是正确的解决方案,因为服务器端应用程序都依赖于MySQL,并且不能全部重写。

您会提出什么解决方案?

1 个答案:

答案 0 :(得分:1)

假设您的JS博客应用程序的顶部为Redux(例如)。

您的数据层(Redux)将数据持久保存到LocalStorage中,反之亦然,加载应用程序时,它会检查LocalStorage以及是否有数据-数据已加载到Redux中。

您的Redux包含帖子 NewPost

当应用在线时,您向服务器发送请求,服务器响应一些数据,然后将这些数据存储在帖子中。

应用离线时,您不会发送任何请求,只需将新帖子存储在 NewPosts 中。

当您的应用恢复在线状态时-您将每个项目从 NewPosts 发送到服务器,如果存储成功,则将它们从 NewPosts 中删除并更新带有新内容的帖子

在应用程序中,您首先呈现 NewPost (可能带有未同步图标或其他内容),然后呈现 News

希望我能正确理解您的问题。