微信、微博的点赞功能是怎么实现的?

2017-08-02 17:57:45 +08:00
 klausgao
本来以为很简单的,但是如果是一个 timeline 列表,有很多的各个 up 主的点赞内容,难不成是循环 sql 取出点赞列表?效率那么低也不对吧?
11392 次点击
所在节点    程序员
31 条回复
zacard
2017-08-03 13:46:46 +08:00
这个应该是异构数据存在例如 redis 的系统中,一次就把点赞、留言内容等都取出来
ty89
2017-08-03 13:59:48 +08:00
《会的太少 想的太多系列》
klausgao
2017-08-03 14:09:11 +08:00
@ty89 你是傻逼吗?
sobigfish
2017-08-03 14:59:34 +08:00
@klausgao #23 微信的列表里比你想的更复杂,因为只显示共同好友的回复内容
所以专门为每个用户生成了他浏览的 timeline
可以看看这个
www.infoq.com/cn/presentations/technology-of-weixin-moments InfoQ 首页 演讲 微信朋友圈技术之道
www.infoq.com/cn/articles/three-people-background-team-and-billions-daily-release 摘要
v9ox
2017-08-03 15:00:39 +08:00
某点赞公司路过

php 端确实是俺楼主所说 先抓 post 然后每个 post 去获取点赞
后端的设计是 graph 和 sql 具体的还没看过
klausgao
2017-08-03 15:14:05 +08:00
@sobigfish 这个真心是恐怖了。收藏了慢慢学习。
klausgao
2017-08-03 15:17:01 +08:00
@v9ox 我是觉得在我的需求下 @geelaw 的#16 方案是最合适的,一次 join 可以把数据取出来,再进行分组合并,返回的数据量就能很小。或者直接不用分组合并,把数据压缩下直接返回前端,前端再进行分组合并即可。
ty89
2017-08-03 16:57:28 +08:00
@klausgao

这里不是垃圾堆,先别急着喷脏话,出门左转百度贴吧更适合你
klausgao
2017-08-03 17:19:36 +08:00
@ty89 看看大家的回帖,不是什么人都像你那么自以为是眼高手低的,这个是程序员节点,不是水区,相互学习吧。
ppwangs
2017-08-03 17:36:16 +08:00
把点赞当成评论的一种
iyaozhen
2017-08-03 18:13:10 +08:00
@klausgao 你 timeline 不分页吗?一次 20 也没多少呀

其实这就是一个典型的多线程 /协程应用场景

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/379884

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX