學(xué)習(xí)完整課程請移步 互聯(lián)網(wǎng) Java 全棧工程師
Redis 內(nèi)部使用一個(gè) redisObject 對象來表示所有的 key 和 value捏境。
- type :代表一個(gè) value 對象具體是何種數(shù)據(jù)類型于游。
- encoding :是不同數(shù)據(jù)類型在 redis 內(nèi)部的存儲方式,比如:type=string 代表 value 存儲的是一個(gè)普通字符串垫言,那么對應(yīng)的 encoding 可以是 raw 或者是 int贰剥,如果是 int 則代表實(shí)際 redis 內(nèi)部是按數(shù)值型類存儲和表示這個(gè)字符串的,當(dāng)然前提是這個(gè)字符串本身可以用數(shù)值表示筷频,比如:"123" "456"這樣的字符串蚌成。
- vm 字段:只有打開了 Redis 的虛擬內(nèi)存功能,此字段才會真正的分配內(nèi)存凛捏,該功能默認(rèn)是關(guān)閉狀態(tài)的担忧。 Redis 使用 redisObject 來表示所有的 key/value 數(shù)據(jù)是比較浪費(fèi)內(nèi)存的,當(dāng)然這些內(nèi)存管理成本的付出主要也是為了給 Redis 不同數(shù)據(jù)類型提供一個(gè)統(tǒng)一的管理接口坯癣,實(shí)際作者也提供了多種方法幫助我們盡量節(jié)省內(nèi)存使用瓶盛。