用Redis做Mysql數據庫緩存

使用redis做mysql數據庫緩存時,須要考慮兩個問題mysql

一、肯定用何種數據結構存儲來自Mysql的數據;redis

二、在肯定數據結構以後,用什麼標識做爲該數據結構的鍵sql

直觀上看,Mysql中的數據都是按表存儲的;更微觀地看,這些表都是按行存儲的。每執行一次select查詢,Mysql都會返回一個結果集,這個結果集由若干行組成。因此,一個天然而然的想法就是在Redis中找到一種對應於Mysql行的數據結構。Redis中提供了五種基本數據結構,即字符串(string)、列表(list)、哈希(hash)、集合(set)和有序集合(sorted set)。通過調研,發現適合存儲行的數據結構有兩種,即string和hash。數據庫

要把Mysql的行數據存入string,首先須要對行數據進行格式化。事實上,結果集的每一行均可以看作若干由字段名和其對應值組成的鍵值對集合。這種鍵值對結構很容易讓咱們想起Json格式。所以,這裏選用Json格式做爲結果集每一行的格式化模板。根據這一想法,咱們能夠實現將結果集格式化爲若干Json對象,並將Json對象轉化爲字符串存入Redis的代碼。緩存

相關文章
相關標籤/搜索