redis的數據存在哪里?
首先要明白redis是一個數據庫, redis是一個內存數據庫, 所有數據基本上都存在于內存當中, 會定時以追加或者快照的方式刷新到硬盤中. 由于redis是一個內存數據庫, 所以讀取寫入的速度是非常快的, 所以經常被用來做數據, 頁面等的緩存。
redis常用的數據類型
Redis最為常用的數據類型主要有以下:
String
Hash
List
Set
Sorted set
pub/sub
Transactions
type代表一個value對象具體是何種數據類型,
encoding是不同數據類型在redis內部的存儲方式,
比如:type=string代表value存儲的是一個普通字符串,那么對應的encoding可以是raw或者是int,如果是int則代表實際redis內部是按數值型類存儲和表示這個字符串的,當然前提是這個字符串本身可以用數值表示,比如:”123″ “456”這樣的字符串。
這里需要特殊說明一下vm字段,只有打開了Redis的虛擬內存功能,此字段才會真正的分配內存,該功能默認是關閉狀態的,該功能會在后面具體描述。通過上圖我們可以發現Redis使用redisObject來表示所有的key/value數據是比較浪費內存的,當然這些內存管理成本的付出主要也是為了給Redis不同數據類型提供一個統一的管理接口,實際作者也提供了多種方法幫助我們盡量節省內存使用。
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END