mysql的標(biāo)簽(tag)是如何儲(chǔ)存的?
問(wèn)題描述
請(qǐng)看這個(gè)頁(yè)面:https://segmentfault.com/tags可以看到,標(biāo)簽被分類了。是否可以根據(jù)這個(gè)頁(yè)面,認(rèn)定segmentfault一定有tag_categorys表?還是沒(méi)有tag_category,只是在前端渲染的時(shí)候用了一堆堆的if?或者這個(gè)頁(yè)面壓根就是靜態(tài)寫(xiě)的?那又如何反映tag的熱門度呢?
問(wèn)題解答
回答1:其實(shí)存的是一個(gè)PHP的數(shù)組
tags.php
return [ [’iOS 開(kāi)發(fā)’ => [’ios’, ’iphone’, ’ipad’, ’objective-c’, ’sqlite’, ’safari’], ’Android 開(kāi)發(fā)’ => [’android’, ’java’, ’eclipse’, ’xml’], ], [ ’開(kāi)發(fā)語(yǔ)言’ => [’java’, ’c’, ’c++’, ’php’] ],];
然后把數(shù)據(jù)存到redis中,用戶訪問(wèn)都是從redis中取數(shù)據(jù)。當(dāng)然放到MySQL中也是可以的,只不過(guò)這些數(shù)據(jù)不是經(jīng)常改動(dòng),加上tag相關(guān)的數(shù)據(jù)類目有很多,用MySQL需要很多表,所以目前采用的是文件管理的方式。
回答2:tag數(shù)據(jù)最終要落地,應(yīng)該是存在MySQL表里,然后redis里面緩存經(jīng)常使用的屬性。
問(wèn)題關(guān)聯(lián)tag_id就行,為什么要tag去關(guān)聯(lián)問(wèn)題呢
回答3:可能是用的redis的set
相關(guān)文章:
1. angular.js - angularjs的自定義過(guò)濾器如何給文字加顏色?2. MySQL中無(wú)法修改字段名的疑問(wèn)3. javascript - 如何讓移動(dòng)端網(wǎng)頁(yè)的輸入框固定在底部?4. angular.js - angular內(nèi)容過(guò)長(zhǎng)展開(kāi)收起效果5. docker鏡像push報(bào)錯(cuò)6. javascript - 微信小程序限制加載個(gè)數(shù)7. 大家好,請(qǐng)問(wèn)在python腳本中怎么用virtualenv激活指定的環(huán)境?8. android - QQ物聯(lián),視頻通話9. 網(wǎng)頁(yè)爬蟲(chóng) - 用Python3的requests庫(kù)模擬登陸B(tài)ilibili總是提示驗(yàn)證碼錯(cuò)誤怎么辦?10. 請(qǐng)教各位大佬,瀏覽器點(diǎn) 提交實(shí)例為什么沒(méi)有反應(yīng)
