脱机到联机同步数据库



我正在开发一个系统,我的客户希望我提供离线服务和在线备份以及iOS,Android和Windows应用程序。

我需要的东西:

  1. 支持离线和在线(主(数据库,可以在连接时同步。
  2. iOS和Android也是如此,但我并不担心这些手机是否可以处理这种工作。
  3. 在Android和iOS的情况下使用什么来存档这样的目标。

用你得到的任何东西来建议我。

注意:我还没有决定任何事情,但对于后端,我将使用Python和Django。我还在设计过程中。

在 android 中,支持离线使用 SQLite 数据库作为本地数据库。

当应用程序处于离线模式时,将数据保存在SQLite中。

您需要编写 API 才能将数据发送到服务器。

当互联网连接可用时,您将本地数据发送到服务器。

创建一个状态列,在数据发送到服务器时更新您的状态,然后将状态设为 true。 下次发送时,仅那些数据的状态为 false。

我建议Firebase Database (Real-time database或Firestore(!!

使用 Firebase 数据库时,当客户端离线时,他们会在本地缓存中写入新数据,以便用户可以像在线应用一样享受您的应用。 当返回在线时,它们会自动与主机数据库和所有设备同步,因此用户可以享受真正的"实时"体验。

此外,它还提供了一个No-SQL可扩展的数据结构,您可以真正节省时间。

另外,还有一个免费的Firebase计划,因此您可以自由尝试使用Firebase DB构建一些迷你应用程序。

首先,您需要确定用于脱机存储的数据库。像Realm,SQLite。

第一个 API 将调用和响应数据将转储到本地数据库中。 下次您必须从本地数据库获取数据并显示。并行,您必须在API返回数据后立即在后台调用API,您需要检查Repond数据和本地数据是否相同或不同,如果相同,则忽略其他明智地将本地数据替换为API Response数据。

当您必须将数据发送到服务器时,您必须应用相同的内容。如果用户离线,则需要存储在本地数据库中,一旦他在线将数据发送到服务器。

我只找到了这个问题的 2 个真正的解决方案

  1. 火力基地
  2. CouchDB

通过SQLite或LoocalStorage进行同步会在投入生产后释放出大量问题。这是一场真正的噩梦,需要大量的经验和努力才能让它继续下去。

最新更新