ホームページ  >  に質問  >  本文

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

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

阿神阿神2742日前907

全員に返信(3)返信します

  • PHP中文网

    PHP中文网2017-04-17 14:48:34

    其实存的是一个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需要很多表,所以目前采用的是文件管理的方式。

    返事
    0
  • 迷茫

    迷茫2017-04-17 14:48:34

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

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

    返事
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-17 14:48:34

    可能是用的redis的set

    返事
    0
  • キャンセル返事