使用redis作mysql資料庫快取時,需要考慮兩個問題:
1、確定用何種資料結構儲存來自mysql的資料;
2、在確定資料結構之後,用什麼標識作為該資料結構的鍵。
直觀上看,mysql中的資料都是按表儲存的;更微觀地看,這些表都是按行儲存的。每執行一次select查詢,mysql都會返回乙個結果集,這個結果集由若干行組成。所以,乙個自然而然的想法就是在redis中找到一種對應於mysql行的資料結構。redis中提供了五種基本資料結構,即字串(string)、列表(list)、雜湊(hash)、集合(set)和有序集合(sorted set)。經過調研,發現適合儲存行的資料結構有兩種,即string和hash。
要把mysql的行資料存入string,首先需要對行資料進行格式化。事實上,結果集的每一行都可以看做若干由欄位名和其對應值組成的鍵值對集合。這種鍵值對結構很容易讓我們想起json格式。因此,這裡選用json格式作為結果集每一行的格式化模板。根據這一想法,我們可以實現將結果集格式化為若干json物件,並將json物件轉化為字串存入redis的**。
用Redis作為Mysql資料庫的快取 二)
把mysql結果集快取到redis的字串或雜湊結構中以後,我們面臨乙個新的問題,即如何為這些字串或雜湊命名,也就是如何確定它們的鍵。因為這些資料結構所對應的行都屬於某個結果集,假如可以找到一種唯一標識結果集的方法,那麼只需為這些資料結構分配乙個唯一的序號,然後把結果集識別符號與該序號結合起來,就能唯...
mysql資料庫索引的好處 資料庫索引的作用是什麼
索引是對資料庫表中一列或多列的值進行排序的一種結構,使用索引可快速訪問資料庫表中的特定資訊。如果想按特定職員的姓來查詢他或她,則與在表中搜尋所有的行相比,索引有助於更快地獲取資訊。索引的乙個主要目的就是加快檢索表中資料,亦即能協助資訊搜尋者盡快的找到符合限制條件的記錄id的輔助資料結構。索引的優點 ...
mysql 資料庫優化,分表超作
create table ifnot exists table1 id int 11 not null auto increment,name varchar 50 default null primary key id engine myisam default charset utf8 auto...