晚上请我喝咖啡吗?
说来听听
说来听听
分页是怎么写的呢?
那我可能知道怎么回事了,晚上咖啡我喝定了
通过以上的对话,身为程序员的你是否也遇到过妹子这样的问题呢?传统的而且网上到处充斥着的也是这类方式,客户端根据自己的滚动不断的更新pagesize和pageindex两个参数,然后上传给服务端接口获取数据,而且网络上也很少说明这种方式是否有问题,那到底有没有问题呢?
谈到分页,无论程序怎样写,分页这个业务的核心动作是根据开始位置和结束位置来获取一段数据,无论你的排序规则有多复杂,最终的目的总是获取总列表数据中一段连续的数据。无论你是直接用的sql语句分页,还用的搜索引擎(比如es),最终在客户端体现的效果就是下一页的数据展现。
当然体现在客户端的UI上的交互操作可以有很多样式
1. 服务端分页接口参数新增上一页最后一条数据id参数lastId,去掉pageindex参数,因为在多数情况下,pageindex参数在服务端的作用是确定数据的起点而已,如果有了lastid,pageinde在很多情况下其实已经不需要了。
2. 服务端把所有的数据做缓存,这样动态数据在一定时间内静态化,但是这样也是治标不治本。
3. 如果业务上对于排序无要求的话,服务端可以采用顺序分页,把获取的数据落在不会变动的数据段上