我有一个包含对象集合的mongo数据库,让我们说订单。
多个移动设备正在保存并将订单加载到该集合。
当一台设备将新订单保存到数据库时,所有设备都应同步并下载新数据。我希望能够每3秒钟同步一次,这样每个人都可以随时获得最新数据。
现在我的问题是如何有效地实现这一目标?我不想加载所有数据,并在客户端解析它。我只想下载丢失的订单。
实现这一目标的最佳做法是什么?
答案 0 :(得分:1)
一种选择是进行差异更新。
您需要记录数据库中每台设备的上次更新时间以及每次修改数据库的时间。
然后,您只会使用上次更新设备后发生的更改进行更新。
另外,最后一个注意事项是,每隔3秒同步一次将很快耗尽电池电量。也许您应该考虑仅在设备有东西发送到服务器时更新设备。即发送新订单,服务器响应包含所有新订单。