文档章节

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

Coosky
 Coosky
发布于 2017/07/22 21:50
字数 549
阅读 13
收藏 0
点赞 1
评论 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 进 行分页,将所有的排序条件都传给客户端,并切条件中有唯一值,就能解决这个重复的问题

© 著作权归作者所有

共有 人打赏支持
Coosky
粉丝 2
博文 1
码字总数 549
作品 0
张家口
后端工程师
滑动窗口式分页的实现

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

since1986 ⋅ 2017/11/14 ⋅ 0

Exrick/xmall-front

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

Exrick ⋅ 04/21 ⋅ 0

mysql分页技术分析

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

北极之北 ⋅ 2016/02/25 ⋅ 4

vue-quasar-admin 一个包含通用权限控制的后台管理系统

vue-quasar-admin   Quasar-Framework 是一款基于vue.js开发的开源的前端框架, 它能帮助web开发者快速创建以下网站:响应式网站,渐进式应用,手机应用(通过Cordova),跨平台应用(通过Ele...

若邪 ⋅ 05/17 ⋅ 0

angular05

基本流程: 产品经理:根据客户的需求,编写需求文档,原型图。 开发人员:根据原型图做开发 ①前端:(web、android、iOS) 与后端约定好需要的接口和数据格式 ②后端:写API 先去模拟json数...

小祝融 ⋅ 2017/06/19 ⋅ 0

从零开始编写自己的C#框架(16)——Web层后端父类

本章节讲述的各个类是后端系统的核心之一,涉及到系统安全验证、操作日志记录、页面与按键权限控制、后端页面功能封装等内容,希望学习本系列的朋友认真查看新增的类与函数,这对以后使用本框...

技术小胖子 ⋅ 2017/11/27 ⋅ 0

面向服务的体系架构SOA总结

三个核心问题: HTTP协议的工作方式与HTTP网络协议栈的结构 如何实现基于HTTP协议和TCP协议的的RPC调用,它们之间有何差别,分别适用何种场景 如何实现服务的动态注册和路由,以及软负载均衡...

xiejunbo ⋅ 2016/04/08 ⋅ 0

接口规范 点播流相关接口

5.点播流相关接口 5.1.查询点播流 用途 查询某个应用下的点播视频流。 如果查询的是点播应用(如"vod"),返回的是该点播应用下的点播流列表。 如果查询的是直播应用(如“liveshow”),则会...

sendoffice ⋅ 01/18 ⋅ 0

AOS V0.3 发布,JavaEE 应用基础平台

写在最前面 经过一段时间的强撸,我们觉得是时候发布AOS V0.3版本了。这个版本共有21个新增/缺陷/问题的变更。 AOS平台简介 AOS应用基础平台基于JavaEE技术体系,以“标准功能可复用、通用模...

神盾局-局座 ⋅ 2015/07/31 ⋅ 17

手机网页用Bootstrap还是jQuery Mobile

很多新手纠结这个问题?两个框架都能够支持做手机网页,那么它们的区别是什么呢,适用场景是什么呢?下面我们从这几个方面比较这两个框架:解决问题、功能、适用场景。 解决问题 跨设备的网页...

snowing1990 ⋅ 2016/03/11 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

熊掌号收录比例对于网站原创数据排名的影响[图]

从去年下半年开始,我在写博客了,因为我觉得业余写写博客也还是很不错的,但是从2017年下半年开始,百度已经推出了原创保护功能和熊掌号平台,为此,我也提交了不少以前的老数据,而这些历史...

原创小博客 ⋅ 38分钟前 ⋅ 0

LVM讲解、磁盘故障小案例

LVM LVM就是动态卷管理,可以将多个硬盘和硬盘分区做成一个逻辑卷,并把这个逻辑卷作为一个整体来统一管理,动态对分区进行扩缩空间大小,安全快捷方便管理。 1.新建分区,更改类型为8e 即L...

蛋黄Yolks ⋅ 56分钟前 ⋅ 0

Hadoop Yarn调度器的选择和使用

一、引言 Yarn在Hadoop的生态系统中担任了资源管理和任务调度的角色。在讨论其构造器之前先简单了解一下Yarn的架构。 上图是Yarn的基本架构,其中ResourceManager是整个架构的核心组件,它负...

p柯西 ⋅ 今天 ⋅ 0

uWSGI + Django @ Ubuntu

创建 Django App Project 创建后, 可以看到路径下有一个wsgi.py的问题 uWSGI运行 直接命令行运行 利用如下命令, 可直接访问 uwsgi --http :8080 --wsgi-file dj/wsgi.py 配置文件 & 运行 [u...

袁祾 ⋅ 今天 ⋅ 0

JVM堆的理解

在JVM中,我们经常提到的就是堆了,堆确实很重要,其实,除了堆之外,还有几个重要的模块,看下图: 大 多数情况下,我们并不需要关心JVM的底层,但是如果了解它的话,对于我们系统调优是非常...

不羁之后 ⋅ 昨天 ⋅ 0

推荐:并发情况下:Java HashMap 形成死循环的原因

在淘宝内网里看到同事发了贴说了一个CPU被100%的线上故障,并且这个事发生了很多次,原因是在Java语言在并发情况下使用HashMap造成Race Condition,从而导致死循环。这个事情我4、5年前也经历...

码代码的小司机 ⋅ 昨天 ⋅ 1

聊聊spring cloud gateway的RetryGatewayFilter

序 本文主要研究一下spring cloud gateway的RetryGatewayFilter GatewayAutoConfiguration spring-cloud-gateway-core-2.0.0.RC2-sources.jar!/org/springframework/cloud/gateway/config/G......

go4it ⋅ 昨天 ⋅ 0

创建新用户和授予MySQL中的权限教程

导读 MySQL是一个开源数据库管理软件,可帮助用户存储,组织和以后检索数据。 它有多种选项来授予特定用户在表和数据库中的细微的权限 - 本教程将简要介绍一些选项。 如何创建新用户 在MySQL...

问题终结者 ⋅ 昨天 ⋅ 0

android -------- 颜色的半透明效果配置

最近有朋友问我 Android 背景颜色的半透明效果配置,我网上看资料,总结了一下, 开发中也是常常遇到的,所以来写篇博客 常用的颜色值格式有: RGB ARGB RRGGBB AARRGGBB 这4种 透明度 透明度...

切切歆语 ⋅ 昨天 ⋅ 0

CentOS开机启动subversion

建立自启动脚本: vim /etc/init.d/subversion 输入如下内容: #!/bin/bash## subversion startup script for the server## chkconfig: 2345 90 10# description: start the subve......

随风而飘 ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部