mysql的標(biāo)簽(tag)是如何儲存的?
問題描述
請看這個頁面:https://segmentfault.com/tags可以看到,標(biāo)簽被分類了。是否可以根據(jù)這個頁面,認(rèn)定segmentfault一定有tag_categorys表?還是沒有tag_category,只是在前端渲染的時候用了一堆堆的if?或者這個頁面壓根就是靜態(tài)寫的?那又如何反映tag的熱門度呢?
問題解答
回答1:其實存的是一個PHP的數(shù)組
tags.php
return [ [’iOS 開發(fā)’ => [’ios’, ’iphone’, ’ipad’, ’objective-c’, ’sqlite’, ’safari’], ’Android 開發(fā)’ => [’android’, ’java’, ’eclipse’, ’xml’], ], [ ’開發(fā)語言’ => [’java’, ’c’, ’c++’, ’php’] ],];
然后把數(shù)據(jù)存到redis中,用戶訪問都是從redis中取數(shù)據(jù)。當(dāng)然放到MySQL中也是可以的,只不過這些數(shù)據(jù)不是經(jīng)常改動,加上tag相關(guān)的數(shù)據(jù)類目有很多,用MySQL需要很多表,所以目前采用的是文件管理的方式。
回答2:tag數(shù)據(jù)最終要落地,應(yīng)該是存在MySQL表里,然后redis里面緩存經(jīng)常使用的屬性。
問題關(guān)聯(lián)tag_id就行,為什么要tag去關(guān)聯(lián)問題呢
回答3:可能是用的redis的set
相關(guān)文章:
1. 致命錯誤: Class ’appfacadeTest’ not found2. mysql - JAVA怎么實現(xiàn)一個DAO同時實現(xiàn)查詢兩個實體類的結(jié)果集3. shell - Update query wrong in MySQL4. sql語句 - 如何在mysql中批量添加用戶?5. mysql - 數(shù)據(jù)庫建字段,默認(rèn)值空和empty string有什么區(qū)別 1106. php - 數(shù)據(jù)庫表如果是null怎么替換為其他字段的值7. 怎么php怎么通過數(shù)組顯示sql查詢結(jié)果呢,查詢結(jié)果有多條,如圖。8. javascript - mysql插入數(shù)據(jù)時怎樣避免與庫中的數(shù)據(jù)重復(fù)?9. SQLAlchemy 訪問Mysql數(shù)據(jù)庫彈出Warning,VARIABLE_VALUE,如何解決?10. mysql建表報錯,查手冊看不懂,求解?
