移动端的分页缓存

原创 2016年08月30日 18:57:47

数据存储

移动端数据存储选用的是localStorage,HTML5中新增的API,localStorage特点: 

1) 永久存储,除非手动删除。

2) 通过key,value进行存储,用法简单,无需下载插件。

3) 只能存字符串。可以通过JSON.stringify将对象转化为字符串,再通过JSON.parse将字符串转化为对象。

4) 存储容量上限:10M。

5) 同步存储数据。


分页问题

假如分页缓存的数据大小为100条,服务器总共有0-1000条数据,本地缓存了500-0条,当下拉刷新获取服务器1000-900条,上拉加载继续从服务器中获取900-800,800-700,700-600,此时从服务器中获取的数据与本地存储的数据在一个时间轴上,没有数据丢失。假如上拉加载到900-800条数据时断网了,下次下拉刷新从服务器中又获取最新的1100-1000条,本地缓存中会有800-700,700-600的数据丢失,长期以往,本地缓存没有把旧的数据衔接上,导致前端展示会有数据丢失。

移动端缓存

为了解决上述问题,在server端写分页缓存服务,每个item数据都有对应的时间:theLastUpdateTime,当item有状态改变,更新这个时间theLastUpdateTime为当前时间,根据所有item的theLastUpdateTime时间字段进行由大到小排序(最前面显示的是最新的数据),有一个总的属性:theLastUpdateTime更新为最新数据中的theLastUpdateTime时间。 接口需要传的参数:id,startDate,endDate。

移动端第一次从server端拿数据是将server端所有数据缓存到本地,并将theLastUpdateTime存储下来作为下一次请求server的startDate,下次请求时获取server端有数据更新的数据,并将本地缓存的数据进行替换,这样也解决了数据实时更新问题。

这种方式的优势:时间轴上不会有数据的丢失。

劣势:当第一次访问server时,如果数据量很大时前端数据展示比较慢。

版权声明:本文为博主原创文章,未经博主允许不得转载。

利用Ajax实现分页缓存

用原生JavaScript写数据分页缓存,看教学视频写的,下面是详细代码。 index --> body{ margin:0; padding:0; } .wrap{ margin:30...
  • qq_39366219
  • qq_39366219
  • 2017年11月05日 21:11
  • 131

Js处理数据——前端分页工具

科技优家 2016-11-22 17:33 这几天有小伙伴讨论起了分页的相关问题,这里我也简单讲下前端如何简单便捷的利用Js(库)写出优雅,好用的分页工具。 分页是个很简单又超多接触的技术点,...
  • u011277123
  • u011277123
  • 2016年11月23日 09:47
  • 896

web前端性能优化–缓存

雅虎的16条优化准则,作为前端开发工程师,都是耳熟能详,信手拈来。但很多时候也能难完全的做得到,一些准则跟工程原则是冲突的,难以落实起来。 JS文件放尾部,CSS文件放头部等,这些基本的优化...
  • iamaddy
  • iamaddy
  • 2014年10月13日 22:16
  • 714

dataTables分页页码缓存问题

由于设置stateSave参数为true,dataTables每次分页信息从web store中获取,导致表格展现出错误的页码(上一次请求页码)。 解决办法:stateSave:false。 代码...
  • qiny2020
  • qiny2020
  • 2016年02月14日 22:32
  • 1813

缓存遇到的数据过滤与分页问题

遇到的问题1、最初阶段系统中做了一个监控功能,用于记录所有的请求数据,数据插入频繁,量非常大,比如一天1000万条。考虑到数据插入的效率,就使用内存KV缓存来保存。写入过程是在接收到请求后放入到线程池...
  • 5207
  • 5207
  • 2017年01月18日 15:55
  • 696

又是分页控件.移动端的.下拉形式的分页.再也不要做了

适合移动页面的分页下拉控件.
  • phker
  • phker
  • 2015年10月13日 18:47
  • 8135

前端 js 缓存 + 后台memcache缓存

在项目中用到缓存机制,又想把部分缓存信息给放到页面中处理,刚开始想到了cookie,但是转眼想到cookie有大小限制,故而只能用javascript缓存了,ps:这里的js缓存类似于html中dom...
  • z69183787
  • z69183787
  • 2015年02月03日 19:41
  • 3328

js实现关于分页的一种实现方式

项目中用到列表的地方很多,二页面列表的显示必然要求分页, 所以分页和查询几乎密不可分,如果说你不会分页查询数据, 那你基本上还属于菜鸟。 分页的原理很简单,从sql上看就是从哪一条开始,往后...
  • Shirley_John_Thomas
  • Shirley_John_Thomas
  • 2016年12月26日 11:14
  • 1424

PageHelper分页插件的使用

1 .分页原理2 .使用方法第一步:需要在SqlMapConfig.xml,配置一个plugin。 PageHelper的GAV com.github.miemiedev mybat...
  • kong_lev
  • kong_lev
  • 2017年06月05日 09:33
  • 560

利用redis缓存对 list集合中的数据 进行分页操作(一)

先说 存储的结构:  这里做了两块缓存  绿色是存储索引的缓存  黑色是存数据的缓存 翻页时需要两个参数  向上查询/或向下查询    还一个是   从第二页开始查询时需要一个索引的参数 有了这两...
  • qq_27292113
  • qq_27292113
  • 2016年07月16日 23:21
  • 11205
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:移动端的分页缓存
举报原因:
原因补充:

(最多只允许输入30个字)