1. 程式人生 > >【redis】redis與關係型資料庫的比較

【redis】redis與關係型資料庫的比較

現在有2張表,

一張放書的資訊

create table book (

bookid int,

title char(20)

)engine myisam charset utf8;

insert into book values

(5 , 'PHP聖經'),

(6 , 'ruby實戰'),

(7 , 'mysql運維')

(8, 'ruby服務端程式設計');

一張放書的標籤

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標籤,又有PHP標籤的書,要用兩張表聯查

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

where tags.content='PHP' andt.content='WEB';

rediskey-value資料庫中,我們用key-value來儲存

set book:5:title 'PHP

聖經'

set book:6:title 'ruby實戰'

set book:7:title 'mysql運難'

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標籤的書

Sunin tag:PHP tag:WEB

:含有ruby,不含WEB標籤的書

Sdiff tag:ruby tag:WEB #求差集