V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
guotie
V2EX  ›  编程

豆瓣小组的主题列表展示很快,是如何实现的?

  •  
  •   guotie · 2012-09-19 17:34:26 +08:00 · 2917 次点击
    这是一个创建于 4440 天前的主题,其中的信息可能已经有所发展或是发生改变。
    登录后,打开 http://www.douban.com/group/ 很快就把我的所有小组的所有最新主题全部展示出来,豆瓣是怎么做到很快的?

    同样的,v2ex的关注也是类似的,是什么什么技术做到飞快的?
    3 条回复    1970-01-01 08:00:00 +08:00
    laiwei
        1
    laiwei  
       2012-09-19 17:37:10 +08:00   ❤️ 1
    页面cache

    数据库查询结果cache

    数据库主键、索引查询

    就这三个就搞的飞快啦
    chairo
        2
    chairo  
       2012-09-19 17:43:51 +08:00   ❤️ 1
    这个应该可以参考下渣浪微博、twitter之类的

    没看过他们的文档,但做过一个类似的,不知道做法是不是一致。

    我的做法:发布主题时候广播id到你(关注者)的某张表中,显示时候只要从你的这张表中根据你的id查询(用户id是做索引的)所有主题id,然后根据主题id获取主题内容

    获取内容、和我上边提到的表都可以用到缓存或者各种key value存储…

    不知道微博推特等是咋做的,反正我弄的那个总共才几千万的数据,速度基本在几十毫秒左右
    chairo
        3
    chairo  
       2012-09-19 17:46:54 +08:00   ❤️ 1
    补上:发布主题会根据关注者活跃度有一个简单权重,权重高的会在主题发布时候就更新到关注者的缓存中,广播到所有数据库表是后台一个简单的队列在跑,我那个应用对实时性要求不高,发完过几分钟再看到也没影响……
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2709 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 02:01 · PVG 10:01 · LAX 18:01 · JFK 21:01
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.