分页规范

[toc]

分页规范

一、分页底层原理

后台得到符合指定条件的所有记录,然后再截取位置。常见的截取位置方法为分页和指定第几页。

为避免请求非第一页数据时候,后台在得到符合指定条件的所有记录和第一页得到的不一样,需要前台或者后台需要记录与第一页一样的请求时间。

常见方案:

备注
pageIndex
pageSize 缺点:只能index变,size不能变,不然返回的数据会错误
timestamp 此为优化点,为的是避免请求非第一页数据时候,后台在得到符合指定条件的所有记录和第一页得到的不一样
没此参数的时候,后台应该是缓存了第一次请求后所有记录,只有再次重新请求或过期才释放这些所有记录。

timestamp 的记录方式:

1、后端记录(需要结合过期时间)

需要结合过期时间,以处理为每个用户记录的这个第一页请求时间。有额外开销

2、前端记录

二、优化方案:解决size的变化

方法1:后端记录下发的数据,新请求时候进行过滤

缺点:需要集合过期时间

方法2:前端下发上次请求的最后一条记录信息

信息方法1:上次最后一条的id,此方法不通。因为新增的记录后台id目前已经不是自增的了

信息方法2:上次最后一条的modifyTime,此方法可以,前提需要后台的时间单位为更为精确的mm级或者um等。

结论:此时所需字段如下

pageIndex 不需要,已通过最后一条的modifyTime 处理
timestamp 不需要,已通过最后一条的modifyTime 处理
最后一条的modifyTime
pageSize 可灵活变动

End