文档章节

App列表流式分页后端接口处理

uniz
 uniz
发布于 2017/07/22 21:50
字数 643
阅读 51
收藏 0

前些天为解决流失分页列表中item重复的问题查了很多资料,也得到了很多人指点,现将一些通用的解决方案记录一下,流式分页与传统pc网站上分页的区别就是当请求下一页数据的时候,之前请求的数据仍然回显示在列表上,因此当两次请求数据的排序有变动时,可能回出现数据重复或丢失现象,这里仅统计一些解绝数据重复的方法。

  1. 最大id限制(当然也可以不是id):没次给前端返回数据的时候,多返回一个当前列表的最大id字段,下次请求的时候将这个最大id在传给后端,后端根据最大id做判断,不返回id比当前最大id小的数据,这种方式一般只适用于没有排序要求的列表,也是最通用的解决方案
  2. 最后更新时间限制:这种方式和最大id的原理上是相同的,接口对没次请求返回当前时间,下次请求前端将这个时间传给接口,后端根据最后更新时间过滤在此之后有更新的数据;缺点:有可能导致数据显示不全
  3. 前端去重:这个就不必多说了,当然前端需要注意一下发起下一页请求的时机(我们最后也采用的这种方案)

还有人提出一些思路,需要接下来去思考验证 4. 做一个缓冲区,每次够一页的数据之后在返回给前端
5. 利用redis的zset
6. sql中使用union(这个是我是真的没有理解,链接 https://www.oschina.net/question/933354_2256138 ,欢迎大家指点一二)
7. 加缓存(这个我认为解决不了问题)
8. 实在不行砍需求吧,别搞那么复杂的排序

利用 mysql 进 行分页,将所有的排序条件都传给客户端,并切条件中有唯一值,就能解决这个重复的问题

© 著作权归作者所有

uniz
粉丝 2
博文 6
码字总数 2827
作品 0
张家口
后端工程师
私信 提问
手机app端分页讨论

https://www.jianshu.com/p/13941129c826 浅谈APP流式分页服务端设计 96 江湖一键飘 2016.05.23 18:42* 字数 697 阅读 6048评论 19喜欢 36 1、传统Web式分页 web开发中常用的分页方式,根据页...

mircle
09/20
0
0
滑动窗口式分页的实现

我的一个工程里需要用到滑动窗口式分页这个效果,我没有直接使用现成的库,而是尝试自己实现了一下,我把实现的过程和大家分享一下吧,希望能对需要的朋友有所帮助。 先来看要实现的效果: ...

since1986
2017/11/14
0
0
Exrick/xmall-front

XMall-Front 基于Vue开发的XMall商城前台页面 项目已部署,在线Demo 前台商城:http://xmall.exrick.cn/ 后台管理系统:http://xmadmin.exrick.cn/ 感谢 yucccc 的开源 vue-mall 项目提供前端...

Exrick
04/21
0
0
mysql分页技术分析

转:http://www.scienjus.com/app-server-paging/ APP分页技术 移动端套用传统分页的缺点 目前数据分页一般分为两种类型:传统网站比较常见的电梯式分页布局及移动端比较常见的流式分页布局。...

北极之北
2016/02/25
628
4
“不吹不黑”说一说列表页多"简单"

前言 相信随着前端职业的兴起,有不少后端或者项目经理觉得前端不就那么回事么?甚至于有些时候,后端一看这么个简单的东西也要做一天?那么本文就带大家了解一下一个还算正常的手机列表页需...

RobinsonZhang
08/10
0
0

没有更多内容

加载失败,请刷新页面

加载更多

CentOS配置Tomcat监听80端口,虚拟主机

Tomcat更改默认端口为80 更改的配置文件是: /usr/local/tomcat/conf/server.xml [root@test-a ~]# vim /usr/local/tomcat/conf/server.xml # 找到 Connector port="8080" protocol="HTTP/1......

野雪球
今天
5
0
《稻盛和夫经营学》读后感心得体会3180字范文

《稻盛和夫经营学》读后感心得体会3180字范文: 一代日本经营之圣稻盛和夫凭借刻苦勤奋的精神以及深植于佛教的商业道德准则,成为了“佛系”企业家的代表人物。在《稻盛和夫经营学》“领导人...

原创小博客
今天
3
0
java框架学习日志-5(常见的依赖注入)

依赖注入(dependency injection) 之前提到控制反转(Inversion of Control)也叫依赖注入,它们其实是一个东西,只是看的角度不同,这章详细说一下依赖注入。 依赖——指bean对象创建依赖于...

白话
今天
4
0
红外接收器驱动开发

背景:使用系统的红外遥控软件没有反应,然后以为自己接线错误,反复测试,结果烧坏了一个红外接收器,信号主板没有问题。所以自己开发了一个红外接收器的python驱动。接线参见https://my.os...

mbzhong
今天
2
0
ActiveMQ消息传送机制以及ACK机制详解

AcitveMQ是作为一种消息存储和分发组件,涉及到client与broker端数据交互的方方面面,它不仅要担保消息的存储安全性,还要提供额外的手段来确保消息的分发是可靠的。 一. ActiveMQ消息传送机...

watermelon11
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部