提供数据库记录变化的“delta”的最佳方法

时间:2015-03-29 00:53:10

标签: caching sync versioning delta

我们有一个移动应用程序使用的REST API。作为一个提炼版本,我们假设API提供了书籍及其内容的列表,例如作者的姓名,出版商,年份和页面内容。

移动应用程序需要将最后10本书籍缓存在本地存储中,因此它总是有10本可离线使用的书籍。这些书籍可能会在服务器上更新,应用程序必须与最新的更改同步。

  • 新增了一本书
  • 图书已更新
  • 删除了一本书

我们需要一种方法,在服务器上,只提供自上次移动同步以来所做的更改。因此,不是要求最新的10本书,而是只请求自上次提取以来发生的变化。

这是在Git等版本管理系统中实现的,但我们正在寻找一种非常简单的方法来处理数据库记录。

实现此类delta的一种非常非常简单的方法是什么?

1 个答案:

答案 0 :(得分:0)

这很简单。您只需要存储在数据库中创建/修改每本书的UTC日期时间,以及类似的应用程序。该应用还需要存储它请求更新图书信息的最后日期时间。

然后,当您的应用程序请求图书清单时,它可以向API提供“最后检查”UTC日期时间,并且API只能回复自那时以来已更改的图书 - 添加,修改和删除。所以你也需要传输已删除的书籍 - 带有一个标志,表示它已被删除。可能还会传输应该在列表中的书籍数量,以便您的应用程序可以验证它是否具有正确的计数。