#37 楼 @flamingtree 不用这么多操作了,这里的解决办法其实针对的是大 V 用户的数量比较少,也就不到 10 个,用一个专门的 sorted_set 来维护这些大 V 用户的 post。key 是时间戳,value 是 "#{user_id}:#{post_id}" 的组合。每个用户会有一个最后刷新 time line 的时间戳,然后刷 timeline 的时候根据这个时间戳去取出到当前时间所有的大 V 用户的 post_id,再把其中自己关注的大 V 用户的 post_id 筛选出来合并到自己的 timeline 中 (是一个 redis list)。这个其实对于大 V 用户很多的那种系统并不是好的解决方案,但是在薄荷里面粉丝数上百万的用户并不多,所以用这种方式能比较好的解决,这一系列的操作的速度也是挺快的。
#35 楼 @flamingtree 用户刷 timeline 时候去主动检查,自己关注的大 V 有新的 post 就合到自己的 timeline 就好了
:plus1:
👍以前还不知道 .railsrc
@ericguo 的分享很精彩,还有,昨天现场有一个给 Discourse 做过贡献的同学,谁知道这个同学的 ID 啊?
我不是单身狗 一篇诚意满满的招聘贴被这句话毁了👋
之前还用 Ember.js 写过一些东西,觉得很好用,很多地方和 Rails 的理念很像。
#14 楼 @quakewang 薄荷里面动态可以设置不对他人可见、可以屏蔽别人,所以最后查询其实还是要比这个复杂一些,查询效率也不高,访问量大的时候数据库压力还是很大的。
大黄赢了,不开心
@keakon 还不知道 sorted set 可以这样啊,一会儿去试试看。第二个问题确实觉得 sorted set 来做 timeline 是方便一些,而且用来分页的时候查询效率也更高。但是因为之前的 timeline 都是基于 list 来做的,包括它的 rebuild 等等,换起来工作量有点大,就暂时先还是用 list 了。
赞 :plus1: 和 Vincent 在一起工作绝对是每天收获满满~~
#27 楼 @wskongdesheng 期待励志打脸腹肌照😄
#7 楼 @wskongdesheng 哇,太励志的故事,来个对比照吧
Matz 提到引入 Actor 模型,对这个很期待!
React~~~
@xiaoronglv 快来看快来看
必须去👍
👍
:plus1:
#3 楼 @rogerluo410 因为用的是 send
方法,它可以调用包括 private method 在内的方法,2.0 之后加了个 public_send
,用这个就没法调用私有方法了。
赞,写的简单易懂,又复习了一遍
看了看 Discourse Ember 部分的代码,学到了很多。还有作者的博客里面货也很多,http://eviltrout.com/
还要一个无刻 HHKB