redis缓存数据表
直觀上看,數據庫中的數據都是按表存儲的;更微觀地看,這些表都是按行存儲的。每執行一
次select查詢,數據庫都會返回一個結果集,這個結果集由若干行組成。所以,一個自然而然
的想法就是在Redis中找到一種對應于數據庫l行的數據結構。Redis中提供了五種基本數據結構
,即字符串(string)、列表(list)、哈希(hash)、集合(set)和有序集合(sorted
set)。經過調研,發現適合存儲行的數據結構有兩種,即string和hash。
要把數據庫的行數據存入string,首先需要對行數據進行格式化。事實上,結果集的
每一行都可以看做若干由字段名和其對應值組成的鍵值對集合。這種鍵值對結構很容易讓我們
想起Json格式。因此,這里選用Json格式作為結果集每一行的格式化模板。根據這一想法,我
們可以實現將結果集格式化為若干Json對象,并將Json對象轉化為字符串存入Redis。
?
要把數據庫的行數據存入hash,過程要比把數據存入string直觀很多。這是由hash的結構性質?
決定的——hash本身就是一個鍵值對集合:一個“父鍵”下面包含了很多“子鍵”,每個“子?
鍵”都對應一個值。根據前面的分析可知,結果集中的每一行實際上也是鍵值對集合。用
Redis鍵值對集合表示數據庫鍵值對集合應該再合適不過了:對于結果集中的某一行,字段對應
于hash的“子鍵”,字段對應的值就是hash“子鍵”對應的值,即結果集的一行剛好對應一個
hash
?
Redis hash是一個string類型的field和value的映射表.一個key可對應多個field,一個field對應一個value。將一個對象存儲為hash類型,較于每個字段都存儲成string類型更能節省內存。
總結
以上是生活随笔為你收集整理的redis缓存数据表的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Win10浏览器403 Forbidde
- 下一篇: 失败如何助你升入最高管理层