V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  mumbler  ›  全部回复第 103 页 / 共 103 页
回复总数  2045
1 ... 94  95  96  97  98  99  100  101  102  103  
2018-04-30 10:38:09 +08:00
回复了 luger1990 创建的主题 算法 千万用户推荐去重算法
@luger1990 所以不建议你用推模式啊,不用 nosql,直接关系数据库储存用户最近一周的观看记录来去重即可。就算用推的,也不需要给每个用户储存 100W 的队列,因为实际场景中,用户一辈子都不可能看到 100W 个视频. 如果内容与时间无关,也没有新内容进来,每天固定 500 个给所有人建队列就行了,第二天把前一天的数据删除了再来 500 个,真有人看完就单独给他拉内容。把问题缩小到一个封闭空间内,一下就非常简单了
2018-04-30 10:14:30 +08:00
回复了 luger1990 创建的主题 算法 千万用户推荐去重算法
@murmur 首先用户不可能一天看一万个内容, 大多数内容的生产和消费都和时间相关,假设平均每个用户每天看 50 条(已经很多了),先给用户推荐最近一天生产的内容,如果看完了,再推荐一周内的内容,最多只储存用户最近一周的观看记录用于去重. 1KW 用户就算全部都是铁杆活跃用户,数据总量也就 30 亿级别,且可以按用户 ID 分区,内容按时间分区
2018-04-30 09:23:04 +08:00
回复了 luger1990 创建的主题 算法 千万用户推荐去重算法
拉模式

建个表储存用户已看内容的 ID,推荐的时候用 left join 去重,内容一定有时间属性,只给用户推最近一段时间的内容,也只储存最近一段时间的已看记录,计算量和储存空间都会大大减少
不会都很好,最多都能听说,写作阅读还是只习惯一种语言,另一门语言阅读能力很差
2018-04-29 19:25:21 +08:00
回复了 crb912 创建的主题 程序员 为什么好多人喜欢用笔记本编程?
用台式机回家工作,出差工作不方便啊,任何公司都不可能做到下班就完全不管工作了
1 ... 94  95  96  97  98  99  100  101  102  103  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5622 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 37ms · UTC 03:29 · PVG 11:29 · LAX 19:29 · JFK 22:29
Developed with CodeLauncher
♥ Do have faith in what you're doing.