新聞中心
標(biāo)題:實(shí)踐基于Redis的Tag系統(tǒng)

快速設(shè)計(jì)和實(shí)現(xiàn)一套TAG體系是很常見的場(chǎng)景,它可以幫助我們更精準(zhǔn)而快速的搜索出需要的內(nèi)容,當(dāng)然,在此之前,需要我們精心的設(shè)計(jì)一個(gè)合理的TAG體系,社區(qū)類的產(chǎn)品有時(shí)候會(huì)采用過濾多個(gè)TAG的組合來匹配內(nèi)容。
問題來了,如何快速實(shí)現(xiàn)一個(gè)Tag體系呢?其中技術(shù)方案多種多樣,比如NoSQL或者是用空格分隔,我們?cè)诖私榻B一種基于Redis的Tag系統(tǒng)實(shí)踐。
基于Redis的Tag系統(tǒng)實(shí)踐過程是這樣的:
在Redis中以字符串?dāng)?shù)據(jù)結(jié)構(gòu)來存儲(chǔ)TAG,假設(shè)“購(gòu)買電腦”、“電腦入門”、“入門教程”三個(gè)TAG都存儲(chǔ)在Redis里,然后在相應(yīng)的key中存儲(chǔ)對(duì)應(yīng)的文章id,如下:
` 購(gòu)買電腦 : 1,2,3 `
` 電腦入門 :2,4 `
` 電腦教程:3,4,5 `
查找“購(gòu)買電腦”和“入門教程”的文章,代碼如下:
Set sInter = jedis.sinter("購(gòu)買電腦", "電腦教程");
for(String id: sInter) {
System.out.println("文章id:" + id);
}
如果我們只需要查找出包含“電腦入門”或者“入門教程”的文章,我們也可以使用Redis的集合操作:
“`
Set sUnion = jedis.sunion(“電腦入門”, “電腦教程”);
for(String id: sUnion) {
System.out.println(“文章id:” + id);
}
總結(jié)一下,基于Redis的Tag系統(tǒng)實(shí)踐可以幫助我們更快的查詢,提高搜索的精準(zhǔn)度,簡(jiǎn)化對(duì)Tag的管理。如果關(guān)聯(lián)的Tag不多,可以考慮使用Redis來實(shí)現(xiàn),有利于把用戶查找到想要的內(nèi)容,滿足用戶要求。
香港服務(wù)器選創(chuàng)新互聯(lián),2H2G首月10元開通。
創(chuàng)新互聯(lián)(www.cdcxhl.com)互聯(lián)網(wǎng)服務(wù)提供商,擁有超過10年的服務(wù)器租用、服務(wù)器托管、云服務(wù)器、虛擬主機(jī)、網(wǎng)站系統(tǒng)開發(fā)經(jīng)驗(yàn)。專業(yè)提供云主機(jī)、虛擬主機(jī)、域名注冊(cè)、VPS主機(jī)、云服務(wù)器、香港云服務(wù)器、免備案服務(wù)器等。
網(wǎng)頁(yè)標(biāo)題:基于Redis的Tag系統(tǒng)實(shí)踐(tag系統(tǒng)redis)
文章地址:http://m.5511xx.com/article/djpedji.html


咨詢
建站咨詢
