现有一张带有更新时间字段的表,要求
- 一个生产者,按更新时间升序读取该表,并将记录写入队列
- 若干个消费者,从队列里读取记录,对其进行操作后写回数据库,并刷新其更新时间
问题出在生产者这里,最初我是直接按照更新时间排序后,分页读取数据,往队列里塞完一页后读取下一页。但是在这期间消费者已经把部分记录的时间更新了,这时读取第二页的话就有部分记录被跳过去了。如果一直读第一页的话,又会出现部分记录重复进入队列的问题。
求教各位 v2er,对这种情况有什么好的解决办法没有?
现有一张带有更新时间字段的表,要求
问题出在生产者这里,最初我是直接按照更新时间排序后,分页读取数据,往队列里塞完一页后读取下一页。但是在这期间消费者已经把部分记录的时间更新了,这时读取第二页的话就有部分记录被跳过去了。如果一直读第一页的话,又会出现部分记录重复进入队列的问题。
求教各位 v2er,对这种情况有什么好的解决办法没有?
1
sesmond Jun 14, 2019
保证你处理过的数据不会再查询到,然后正常读就行。分页查完了最后再确认一下还有没有。
如果你的时间字段有逻辑冲突那就换一个。 |
2
mooncakejs Jun 14, 2019 via iPhone
用 ID 排序
|
3
HuHui Jun 14, 2019 via Android
版本号
|