为了账号安全,请及时绑定邮箱和手机立即绑定

糗事百科解决翻页内容重复的思路是什么

糗事百科解决翻页内容重复的思路是什么

至尊宝的传说 2019-04-08 11:17:35
很多内容更新比较快的网站,在翻页的时候由于已经有了新的内容或者排序发生了变化会导致内容重复,比如我现在看的第一页有个id是10000的帖子,在翻页后还能看到这个id为10000的帖子。我在观察糗事百科的时候发现他们网站没有这个问题。糗事百科的翻页链接里面会有一个s的参数,比如http://www.qiushibaike.com/8hr/page/2?s=4625315这个s的数值貌似是版本号。不过没能想通这个逻辑是怎么处理的。哪位大牛能分析下?
查看完整描述

2 回答

?
富国沪深

TA贡献1790条经验 获得超9个赞

我的分析结果是这样的:
假设糗事百科帖子中有个score字段来表示帖子的热度得分,得分越好,越应该排在前面。
可以用redis的sortedset来保存排序,把帖子id和score存进去。这样翻页的时候就可以先计算出来第N页是哪些id,然后selctarticleswhereidin(a,b,c,d...).
而且这个sortedset可以利用定时任务来创建新版本。访问首页的时候按照最近版本来查找。有s这个参数的时候,就去找s的值所对应的sortedset版本。
每个sortedset有个自动过期时间,可以自动清除数据,防止redis中数据过多。
如果传递的s版本过低,没有所对应的sortedset版本的时候就显示现在的最近版本。
不知道这样是否可行
                            
查看完整回答
反对 回复 2019-04-08
  • 2 回答
  • 0 关注
  • 280 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号