分页数据可能重复问题
场景 :
用户打开一页面,向服务端请求10条最新数据(第1页), 然后用户继续停留在这个页面,5分钟后,用户请求第2页数据。
在这5分钟时间内, 服务器中新增加了数据。
问题 :
如果服务器中数据是按 权重和ID倒序排序的( SELECT ... order by weight DESC, id DESC LIMIT 0, 10),
传统的分页处理方式,通过将下一页数据时发送第几页( http://host/news?page=2), 那么服务端中使用 select ... limit ... offset 的话, 像上述所描述的场景,拿到的第2页数据会有部分和第一页的相同。
请问,有什么方法解决第2页不拿重复数据的问题?
请求下一页的数据时,不只传页码,再加上上一页请求的最后那行数据的id和weight的值也可能不行。
如果请求下一页的数据, 将上一页及上一页之前的所有id提交到服务器, 如果页数比较多的话,数据就比较大了。 因是App应用,想数据尽可能的少。
我系那个啥
12 years, 9 months ago