【发布时间】:2013-09-12 10:00:03
【问题描述】:
我有一个包含对象集合的 mongo 数据库,比如说订单。
多个移动设备正在将订单保存并加载到该集合中。
当一台设备将新订单保存到数据库时,所有设备都应同步并下载新数据。我希望能够每 3 秒同步一次,以便每个人都能随时掌握最新数据。
现在我的问题是如何有效地做到这一点?我不想加载所有数据,并在客户端解析它。我只想下载缺失的订单。
实现这一目标的最佳实践方式是什么?
【问题讨论】:
我有一个包含对象集合的 mongo 数据库,比如说订单。
多个移动设备正在将订单保存并加载到该集合中。
当一台设备将新订单保存到数据库时,所有设备都应同步并下载新数据。我希望能够每 3 秒同步一次,以便每个人都能随时掌握最新数据。
现在我的问题是如何有效地做到这一点?我不想加载所有数据,并在客户端解析它。我只想下载缺失的订单。
实现这一目标的最佳实践方式是什么?
【问题讨论】:
一种选择是进行差异更新。
您需要在DB中记录每台设备的最后一次更新时间以及对DB的每次修改时间。
那么您只使用上次设备更新后发生的更改进行更新。
另外,最后一点,每 3 秒同步一次会很快耗尽电池电量。也许您应该考虑仅在设备有内容要发送到服务器时才更新设备。即发送一个新订单,服务器响应包含所有新订单。
【讨论】: