php - 像今日头条,她社区之类点击刷新数据不重复实现机制是什么?
怪我咯
怪我咯 2017-04-11 08:59:25
[PHP讨论组]

1.在今日头条中,每次下拉刷新数据都不一样。正常的话,会把新闻存在一个表里面,会去数据在最早的放在前面,再刷新顶部数据也是不会变的。
她社区也是同样的道理。(不讨论今日头条的推荐算法)

怪我咯
怪我咯

走同样的路,发现不同的人生

全部回复(3)
大家讲道理

如果用到分页,而且数据更新的很快,比如像新浪微博,数据刷新很快,如果用传统的 page = n
这样的分页肯定是不行的,这样肯定用户体验差,因为如果我在这个页面停留一段时间,然后其他人发布了微博,我在下拉加载就会有重复数据,解决就是用 当前页面的最后一条 微博 id 来分页,每次查询数据库 用当前 微博 id 查询,例如 where = id > 100 limit 10 这样解决,如果是上拉刷新 就用 where = id < 100 limit 10 。这是 关系数据库(MySQL)的解决方案,我也有一个问题,如果我用 redis 做缓存的话,这样的查询办不到怎么解决,也不知道新浪这样的是怎么解决的,还是这样的数据不能用 nosql 数据存储

PHP中文网

个人觉得应该是使用的分页原理吧,第一次下拉刷新就对应的是第一页,第二次是第二页,然后后端根据这个次数查询数据库

高洛峰

根据获取到数据,每条记录的key判断已渲染的新闻中有没有相同的来过滤,再进行渲染。

PS:这个事情交给客户端来处理是很容易的,在服务器端处理就很麻烦。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号