segmentfault的标签(tag)是如何储存的?

请看这个页面:https://segmentfault.com/tags
可以看到,标签被分类了。
是否可以根据这个页面,认定segmentfault一定有tag_categorys表?
还是没有tag_category,只是在前端渲染的时候用了一堆堆的if?或者这个页面压根就是静态写的?那又如何反映tag的热门度呢?

阅读 2.7k
评论
    3 个回答
    • 2k

    其实存的是一个PHP的数组

    tags.php

    
    return [
        [
            'iOS 开发' => ['ios', 'iphone', 'ipad', 'objective-c', 'sqlite', 'safari'],
             'Android 开发' => ['android', 'java', 'eclipse', 'xml'],
        ],
        [
             '开发语言' =>  ['java', 'c', 'c++', 'php']
        ],
    ];
    

    然后把数据存到redis中,用户访问都是从redis中取数据。
    当然放到MySQL中也是可以的,只不过这些数据不是经常改动,加上tag相关的数据类目有很多,用MySQL需要很多表,所以目前采用的是文件管理的方式。

      • 8.7k

      tag数据最终要落地,应该是存在MySQL表里,然后redis里面缓存经常使用的属性。

      问题关联tag_id就行,为什么要tag去关联问题呢

        可能是用的redis的set

          撰写回答

          登录后参与交流、获取后续更新提醒

          社区建设
          合作问答

          欢迎来到 SegmentFault 0x 社区建设。这里可以讨论有关 SegmentFault 的一切,帮助我们改进产品、完善社...