redis 用hashmap省內(nèi)存的誤解

看過許多redis優(yōu)化的案例浑测,通過引入hashmap的方式將key散列到多個hashmap榴嗅,
具體可以見:
Redis 利用Hash存儲節(jié)約內(nèi)存 - 劉本龍的專欄 - CSDN博客

我們得到如下公式:

key的數(shù)量=hashmap數(shù)量* 每個hashmap filed的數(shù)量

原來是:
key1,key2,key3,key4,key5
變成
hash1:
key1:value1
key2:value2
key3:value2
hash2:
key4:value4
key5:value5

雖然名義上5個key變成了2個hashmap猴贰,但是每個filed還是會保存原始的key揭绑,所以從key減少的層面是行不通的坦报,這個時候就要從底層儲存結(jié)構(gòu)去看上煤。

redis對hashmap有一個優(yōu)化休玩,當(dāng)filed數(shù)量比較少的時候(因?yàn)閦iplist是用順序遍歷的方式查找元素,所以數(shù)量多了復(fù)雜度是o(N)肯定不合適劫狠。
)拴疤,會用一個叫ziplist的結(jié)構(gòu)保存,而不是傳統(tǒng)的hash結(jié)構(gòu)独泞,ziplist有幾個特點(diǎn):

1 ziplist申請一個快連續(xù)的內(nèi)存呐矾,所有元素是緊挨著存放,能夠減少內(nèi)存碎片
2 通過offset來標(biāo)識前后元素的位置,不需要額外的指針阐肤,也可以減少對象

ziplist介紹
https://blog.csdn.net/weixin_30783913/article/details/98141347

所以hashmap能省內(nèi)存是依賴ziplist的結(jié)構(gòu)凫佛,而不是key的減少。
使用ziplist可以用以下參數(shù)控制

hash-max-zipmap-entries 512 #配置字段最多512個
hash-max-zipmap-value 64 #配置value最大為64字節(jié)孕惜。

必須滿足以上兩個條件愧薛,那么該key會被壓縮。否則就是按照正常的hash結(jié)構(gòu)來存儲hash類型的key衫画。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末毫炉,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子削罩,更是在濱河造成了極大的恐慌瞄勾,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,546評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件弥激,死亡現(xiàn)場離奇詭異进陡,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)微服,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,224評論 3 395
  • 文/潘曉璐 我一進(jìn)店門趾疚,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人以蕴,你說我怎么就攤上這事糙麦。” “怎么了丛肮?”我有些...
    開封第一講書人閱讀 164,911評論 0 354
  • 文/不壞的土叔 我叫張陵赡磅,是天一觀的道長。 經(jīng)常有香客問我宝与,道長焚廊,這世上最難降的妖魔是什么冶匹? 我笑而不...
    開封第一講書人閱讀 58,737評論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮节值,結(jié)果婚禮上徙硅,老公的妹妹穿的比我還像新娘榜聂。我一直安慰自己搞疗,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,753評論 6 392
  • 文/花漫 我一把揭開白布须肆。 她就那樣靜靜地躺著匿乃,像睡著了一般。 火紅的嫁衣襯著肌膚如雪豌汇。 梳的紋絲不亂的頭發(fā)上幢炸,一...
    開封第一講書人閱讀 51,598評論 1 305
  • 那天,我揣著相機(jī)與錄音拒贱,去河邊找鬼宛徊。 笑死,一個胖子當(dāng)著我的面吹牛逻澳,可吹牛的內(nèi)容都是我干的闸天。 我是一名探鬼主播,決...
    沈念sama閱讀 40,338評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼斜做,長吁一口氣:“原來是場噩夢啊……” “哼苞氮!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起瓤逼,我...
    開封第一講書人閱讀 39,249評論 0 276
  • 序言:老撾萬榮一對情侶失蹤笼吟,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后霸旗,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體贷帮,經(jīng)...
    沈念sama閱讀 45,696評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,888評論 3 336
  • 正文 我和宋清朗相戀三年诱告,在試婚紗的時候發(fā)現(xiàn)自己被綠了撵枢。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,013評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡蔬啡,死狀恐怖诲侮,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情箱蟆,我是刑警寧澤沟绪,帶...
    沈念sama閱讀 35,731評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站空猜,受9級特大地震影響绽慈,放射性物質(zhì)發(fā)生泄漏恨旱。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,348評論 3 330
  • 文/蒙蒙 一坝疼、第九天 我趴在偏房一處隱蔽的房頂上張望搜贤。 院中可真熱鬧,春花似錦钝凶、人聲如沸仪芒。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,929評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽掂名。三九已至,卻和暖如春哟沫,著一層夾襖步出監(jiān)牢的瞬間饺蔑,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,048評論 1 270
  • 我被黑心中介騙來泰國打工嗜诀, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留猾警,地道東北人。 一個月前我還...
    沈念sama閱讀 48,203評論 3 370
  • 正文 我出身青樓隆敢,卻偏偏與公主長得像发皿,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子筑公,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,960評論 2 355

推薦閱讀更多精彩內(nèi)容

  • NOSQL類型簡介鍵值對:會使用到一個哈希表雳窟,表中有一個特定的鍵和一個指針指向特定的數(shù)據(jù),如redis匣屡,volde...
    MicoCube閱讀 3,981評論 2 27
  • Redis的內(nèi)存優(yōu)化 聲明:本文內(nèi)容來自《Redis開發(fā)與運(yùn)維》一書第八章封救,如轉(zhuǎn)載請聲明。 Redis所有的數(shù)據(jù)都...
    meng_philip123閱讀 18,888評論 2 29
  • 聲明:本文內(nèi)容來自《Redis開發(fā)與運(yùn)維》一書第八章捣作,如轉(zhuǎn)載請聲明誉结。Redis所有的數(shù)據(jù)都在內(nèi)存中,而內(nèi)存又是非常...
    yoqu閱讀 1,500評論 0 2
  • 安裝: 參數(shù):在cli端查看配置參數(shù)* 號是查看所有參數(shù)券躁。 daemonize no 默認(rèn)情況下惩坑,redis不是在...
    米刀靈閱讀 63,933評論 0 1
  • 1.Elasticsearch介紹和安裝 用戶訪問我們的首頁,一般都會直接搜索來尋找自己想要購買的商品也拜。 而商品的...
    強(qiáng)某某閱讀 567評論 1 1