真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

redis應(yīng)用之——標(biāo)簽

MySQL:

成都創(chuàng)新互聯(lián)公司是一家集網(wǎng)站建設(shè),陸港企業(yè)網(wǎng)站建設(shè),陸港品牌網(wǎng)站建設(shè),網(wǎng)站定制,陸港網(wǎng)站建設(shè)報價,網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,陸港網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。

create table book (

bookid int,

title char(20)

)engine myisam charset utf8;

 

insert into book values

(5 , 'PHP圣經(jīng)'),

(6 , 'ruby實(shí)戰(zhàn)'),

(7 , 'mysql運(yùn)維')

(8, 'ruby服務(wù)端編程');

 

 

create table tags (

tid int,

bookid int,

content char(20)

)engine myisam charset utf8;

 

insert into tags values

(10 , 5 , 'PHP'),

(11 , 5 , 'WEB'),

(12 , 6 , 'WEB'),

(13 , 6 , 'ruby'),

(14 , 7 , 'database'),

(15 ,8 , 'ruby'),

(16,8 , 'server');

 

# 既有web標(biāo)簽,又有PHP,同時還標(biāo)簽的書,要用連接查詢

 

select * from tags inner join tags as t on tags.bookid=t.bookid

where tags.content='PHP' and t.content='WEB';

 

 


換成key-value存儲

用kv 來存儲

set book:5:title 'PHP圣經(jīng)'

set book:6:title 'ruby實(shí)戰(zhàn)'

set book:7:title 'mysql運(yùn)難'

set book:8:title‘ruby server’

 

sadd tag:PHP 5

sadd tag:WEB 5 6

sadd tag:database 7

sadd tag:ruby 6 8

sadd tag:SERVER 8

 

查: 既有PHP,又有WEB的書

Sinter tag:PHP tag:WEB  #查集合的交集

 

查: 有PHP或有WEB標(biāo)簽的書

Sunin tag:PHP tag:WEB

 

查:含有ruby,不含WEB標(biāo)簽的書

Sdiff tag:ruby tag:WEB #求差集

假設(shè)需要需要查詢既屬于,又屬于,又屬于的情況,以mysql為例,用到j(luò)oin(如果取交集的標(biāo)簽夠多,join的量會夠多),語句會很長,很耗資源。而redis能輕松解決這個問題:

有若干本書,分別屬于若干個標(biāo)簽(類型):

    'php圣經(jīng)','java圣經(jīng)','C++圣經(jīng)','asp圣經(jīng)','php從入門到放棄','go圣經(jīng)','linux內(nèi)核編程','python圣經(jīng)'

    

屬于php的:

    'php圣經(jīng)','php從入門到放棄'

屬于web的:

    'php圣經(jīng)','asp圣經(jīng)','php從入門到放棄'

屬于code的:

    'php圣經(jīng)','java圣經(jīng)','C++圣經(jīng)','asp圣經(jīng)','php從入門到放棄','go圣經(jīng)','python圣經(jīng)'

屬于system的:

    'linux內(nèi)核編程

接下來,字段設(shè)置:

    先將書設(shè)置好:

        set book:1:title 'php圣經(jīng)'

        set book:2:title 'java圣經(jīng)'

        set book:3:title 'C++圣經(jīng)'

        set book:4:title 'asp圣經(jīng)'

        set book:5:title 'php從入門到放棄'

        set book:6:title 'go圣經(jīng)'

        set book:7:title 'linux內(nèi)核編程'

        set book:8:title 'python圣經(jīng)'

    將書簽設(shè)置好:

        sadd tag:php    1 5

        sadd tag:web    1 4 5

        sadd tag:code   1 2 3 4 5 6 8

        sadd tag:system 7 

用集合,取交集的方式迅速求出

    既屬于php標(biāo)簽又屬于web標(biāo)簽的:

    127.0.0.1:6379> sinter tag:php tag:web

    1

    5

    既屬于php標(biāo)簽又屬于web標(biāo)簽又屬于code標(biāo)簽的:

    127.0.0.1:6379> sinter tag:php tag:web tag:code

    1

    5

獲取1、5的書名:

    127.0.0.1:6379> get book:1:title

    php圣經(jīng)

    127.0.0.1:6379> get book:5:title

    php從入門到放棄

注意:正常情況下redis命令窗口不顯示中文,要顯示中文要加上--raw參數(shù)

    [lzw@localhost bin]$ redis-cli

    127.0.0.1:6379> get book:1:title

    "php\xe5\x9c\xa3\xe7\xbb\x8f"

    127.0.0.1:6379> 

    [lzw@localhost bin]$ redis-cli --raw

    127.0.0.1:6379> get book:1:title

    php圣經(jīng)

    


分享題目:redis應(yīng)用之——標(biāo)簽
分享鏈接:http://weahome.cn/article/iegocj.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部