
课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
分页功能是程序员在开发软件或者是设计网页的时候会添加的一项功能,而今天我们就通过案例分析来了解一下,如果分页错误应该如何修复。
谈到分页,无论程序怎样写,分页这个业务的核心动作是根据开始位置和结束位置来获取一段数据,无论你的排序规则有多复杂,目的总是获取总列表数据中一段连续的数据。无论你是直接用的sql语句分页,还用的搜索引擎(比如es),在客户端体现的效果就是下一页的数据展现。
解决问题
分页操作的数据源是动态变动的,有时候变动的部分正好发生在你获取的数据范围内,就会发生数据重复或者错误的情况。那怎么解决呢?
客户端
作为数据的需求方和展示方,客户端需要记住已经加载的数据的主键列表,如果某条数据已经展示过,根据业务需求来确定是否要重复展示,一般情况下需要去重。
如果数据量非常大,客户端维护一个数据池的方案其实也不够理想
服务端
服务端分页接口参数新增上一页后一条数据id参数lastId,去掉pageindex参数,因为在多数情况下,pageindex参数在服务端的作用是确定数据的起点而已,如果有了lastid,pageinde在很多情况下其实已经不需要了。
服务端把所有的数据做缓存,这样动态数据在一定时间内静态化,但是这样也是治标不治本。
如果业务上对于排序无要求的话,服务端可以采用顺序分页,把获取的数据落在不会变动的数据段上
服务端要想把动态的数据搞成静态有点难度
业务方
无论程序怎么优化也改变不了数据是在不停变动的本质,如果业务方(产品,运营)能够接受数据在偶尔情况下能重复的现象,那能大幅度减少程序员的工作了。
有时候你认为的数据bug,在其他业务部门不一定是什么重大问题
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请在707945861群中学习了解。