OSC的关注,粉丝的页面数据是如何获取的?

gongweixin 发布于 2014/09/11 15:49
阅读 192
收藏 0

今天尝试OSC的关注,粉丝页面发现数据获取的非常快,就算是很多年前的数据也可以很快的获取到,例如红薯的粉丝页:http://my.oschina.net/javayou/fans?sort=update&p=445  几年前的用户动态都能快速的获取到,这是如何设计实现的?

为什么今天会尝试这个呢,是因为我最近在做获取用户关注的人的动态,跟OSC的关注,粉丝页功能一样,如果通过sql进行关联查询效率非常的差,并且因为我们做了数据库的垂直分割,导致没办法进行关联查询,现在有三张表,用户表,关注表,动态表分别在三个库中,如果要查询出A用户的关注页面,我能想到两种方法,第一种,通过关注表查询出A关注的所有用户,再通过动态表查询刚刚获取的所有用户的动态,按时间排序取前n条。这个类似关联查询,如果关注的用户多,效率及其的差。第二种,在关注表中增加用户最后活跃时间,每次用户发布动态时需要更新关注表中的最后活跃时间,查询的时候按照最后活跃时间排序取前n条,在通过动态表查询这n个人的发布的动态时间大小这n个人最后活跃时间最小值的,按时间排序取前n条。第二种方法在发布动态的时候,需要更新关注表中关注字段为这个人的所有条数据,这个更新量也满大的。暂时没有想到更好的方法了,不知各位大大们有什么好的建议么?

加载中
0
gongweixin
gongweixin
终于找到我想要的了, 就是  "推拉模式"  , 可以参考这篇博文http://www.cnblogs.com/sunli/archive/2010/08/24/twitter_feeds_push_pull.html
1
joejary
gongweixin
gongweixin
才了解到这种需求用nosql实现会更简单,看来我当初还实现麻烦了。
0
帖子列表
帖子列表
肯定有缓存吧
gongweixin
gongweixin
缓存肯定是有的,但是好几年前的数据也会缓存么?就算都缓存了那是个什么查询策略呢?
返回顶部
顶部