最近网上有个朋友问了一个关于移动客户端增量更新的问题,我并无处理过相似的问题,一时也很差回答。
html
强迫症啊!!!redis
晚上回家好好想了一下,又是对网上的各款新闻资讯类客户端一顿狂刷。而后分析了下用户场景,提供一种解决思路。缓存
1.用户多spa
2.更新频繁设计
3.可能涉及栏目频道htm
4.更新方式,推or拉排序
朋友需求的场景就是,客户端拉取数据,增量更新,多频道栏目。get
出于以前作过的项目方案分析im
1.版本号指令设计数据
2.客户端对数据作规划存储
3.更新策略设计
详细设计:
1.版本号指令设计,
设计3种内容指令 (增长, 删除, 修改),当内容发生3中变化中的一种,都将其变化记录有序集合中(可采用redis的SortedSet),以时间版本号为排序规则,当客户端获取更新内容时,获取全部大于客户端版本号的更新内容,最后封装成客户端数据,实现客户端的增删改。
2.客户端对数据作规划存储
客户端创建本地数据缓存,而且方便更新操做等,这里就不详细描述
3.更新策略设计
什么时候全量更新,什么时候增量更新..................
流程图