假如数据是按修改时间进行排序的情况下,数据库的一些数据更新时间已经发生了变化,或者新增了几条数据,下一页的数据是如何排除掉在之前已经给过的数据的?
比如APP端下拉加载下一页的数据时,可能当前在阅读的内容有几条数据发生了变化,按u修改时间排序的话在下一页可能会把之前的那几条数据还返回给前端。
不可能要返回的数据一一去对比之前的数据吧?这样缓存成本太高,性能也低
请问目前有什么好的办法吗?
两种方式:
1、忽略这种问题,因为分页的过程中,有中间数据的新增或者删除,导致的获取的分页数据有重复或缺失,本质上对服务
器层面是一致的,只是前端页面的显示不准确而已,刷新后就没问题了(这种可以参考很多论坛、博客下拉列表刷新的页面)。
2、如果要保证数据显示是严格准确的,那么就要以时间戳作为分页的条件,每次请求后端接口时,把上一次的最后一条的
时间戳传给后端,后端根据这个时间戳,取后面的n条,就可以了。
实际业务场景中,两种都可以,看产品经理怎么定夺了。