您的位置:首页技术文章
文章详情页

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

浏览:65日期:2022-06-21 17:14:36

问题描述

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

问题解答

回答1:

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

回答2:

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

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

回答3:

可能是用的redis的set

相关文章: