避免誤用 Redis

Redis 是目前 NoSQL 領(lǐng)域的當(dāng)紅炸子雞张峰,它象一把瑞士軍刀,小巧棒旗、鋒利喘批、實用,特別適合解決一些使用傳統(tǒng)關(guān)系數(shù)據(jù)庫難以解決的問題。但是 Redis 不是銀彈饶深,有很多適合它解決的問題餐曹,但是也有很多并不適合它解決的問題。另外敌厘,Redis 作為內(nèi)存數(shù)據(jù)庫凸主,如果用在不適合的場合,對內(nèi)存的消耗是很可觀的额湘,甚至?xí)屜到y(tǒng)難以承受。

我們可以對系統(tǒng)存儲使用的數(shù)據(jù)以兩種角度分類旁舰,一種是按數(shù)據(jù)的大小劃分锋华,分成大數(shù)據(jù)和小數(shù)據(jù),另一種是按數(shù)據(jù)的冷熱程度劃分箭窜,分成冷數(shù)據(jù)和熱數(shù)據(jù)毯焕,熱數(shù)據(jù)是指讀或?qū)懕容^頻繁的數(shù)據(jù),反之則是冷數(shù)據(jù)磺樱。

可以舉一些具體的例子來說明數(shù)據(jù)的大小和冷熱屬性纳猫。比如網(wǎng)站總的注冊用戶數(shù),這明顯是一個小而熱的數(shù)據(jù)竹捉,小是因為這個數(shù)據(jù)只有一個值芜辕,熱是因為注冊用戶數(shù)隨時間變化很頻繁。再比如块差,用戶最新訪問時間數(shù)據(jù)侵续,這是一個量比較大,冷熱不均的數(shù)據(jù)憨闰,大是數(shù)據(jù)的粒度是用戶級別状蜗,每一個用戶都有數(shù)據(jù),如果有一千萬用戶鹉动,就意味著有一千萬的數(shù)據(jù)轧坎,冷熱不均是因為活躍用戶的最新訪問時間變化很頻繁,但是可能有很大一部非活躍用戶訪問時間長時間不會發(fā)生變化泽示。

大體而言缸血,Redis 最適合處理的是小而熱,而且是寫頻繁械筛,或者讀寫都比較頻繁的熱數(shù)據(jù)属百。對于大而熱的數(shù)據(jù),如果其它方式很難解決問題变姨,也可以考慮使用 Redis 解決族扰,但是一定要非常謹(jǐn)慎,防止數(shù)據(jù)無限膨脹。原因如下:

首先渔呵,對于冷數(shù)據(jù)怒竿,無論大小,都不建議放在 Redis 中扩氢。Redis 數(shù)據(jù)要全部放在內(nèi)存中耕驰,資源寶貴,把冷數(shù)據(jù)放在其中實在是一種浪費录豺,冷數(shù)據(jù)放在普通的存儲比如關(guān)系數(shù)據(jù)庫中就好了朦肘。

其次,對于熱數(shù)據(jù)双饥,尤其是寫頻繁的熱數(shù)據(jù)媒抠,如果量比較小,是最適合放到 Redis 中的咏花。比如上面提到的網(wǎng)站總的注冊用戶數(shù)趴生,就是典型的 Redis 用做計數(shù)器的例子。再比如論壇最新發(fā)表列表昏翰,最新報名列表苍匆,可以控制數(shù)量在幾百到一千的規(guī)模,也是典型的 redis 做最新列表的使用方式棚菊。

另外浸踩,對于量比較大的熱數(shù)據(jù)(或者冷熱不均數(shù)據(jù)),使用 Redis 時一定要比較謹(jǐn)慎统求。這種類型數(shù)據(jù)很容易引起數(shù)據(jù)膨脹民轴,導(dǎo)致 Redis 消耗內(nèi)存巨大,讓系統(tǒng)難以承受球订。薄荷的一個慘痛教訓(xùn)是把用戶關(guān)注(以及被關(guān)注)數(shù)據(jù)放在 Redis 中后裸,這是一種數(shù)據(jù)量極大,冷熱很不均衡的數(shù)據(jù)冒滩,在幾百萬的用戶級別就占用了近 10 GB左右內(nèi)存微驶,讓 Redis 變得難以應(yīng)付。應(yīng)對這種類型的數(shù)據(jù)开睡,可以用普通存儲 + 緩存的方式因苹。

如果用對了地方,比如在小而熱的數(shù)據(jù)情形篇恒,Redis 表現(xiàn)很棒扶檐,如果用錯了地方,Redis 也會帶來昂貴的代價胁艰,所以使用時務(wù)必謹(jǐn)慎款筑。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末智蝠,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子奈梳,更是在濱河造成了極大的恐慌杈湾,老刑警劉巖,帶你破解...
    沈念sama閱讀 207,248評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件攘须,死亡現(xiàn)場離奇詭異漆撞,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)于宙,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,681評論 2 381
  • 文/潘曉璐 我一進(jìn)店門浮驳,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人捞魁,你說我怎么就攤上這事至会。” “怎么了署驻?”我有些...
    開封第一講書人閱讀 153,443評論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長健霹。 經(jīng)常有香客問我旺上,道長,這世上最難降的妖魔是什么糖埋? 我笑而不...
    開封第一講書人閱讀 55,475評論 1 279
  • 正文 為了忘掉前任宣吱,我火速辦了婚禮,結(jié)果婚禮上瞳别,老公的妹妹穿的比我還像新娘征候。我一直安慰自己,他們只是感情好祟敛,可當(dāng)我...
    茶點故事閱讀 64,458評論 5 374
  • 文/花漫 我一把揭開白布疤坝。 她就那樣靜靜地躺著,像睡著了一般馆铁。 火紅的嫁衣襯著肌膚如雪跑揉。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,185評論 1 284
  • 那天埠巨,我揣著相機(jī)與錄音历谍,去河邊找鬼。 笑死辣垒,一個胖子當(dāng)著我的面吹牛望侈,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播勋桶,決...
    沈念sama閱讀 38,451評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼脱衙,長吁一口氣:“原來是場噩夢啊……” “哼侥猬!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起岂丘,我...
    開封第一講書人閱讀 37,112評論 0 261
  • 序言:老撾萬榮一對情侶失蹤陵究,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后奥帘,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體铜邮,經(jīng)...
    沈念sama閱讀 43,609評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,083評論 2 325
  • 正文 我和宋清朗相戀三年寨蹋,在試婚紗的時候發(fā)現(xiàn)自己被綠了松蒜。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,163評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡已旧,死狀恐怖秸苗,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情运褪,我是刑警寧澤惊楼,帶...
    沈念sama閱讀 33,803評論 4 323
  • 正文 年R本政府宣布,位于F島的核電站秸讹,受9級特大地震影響檀咙,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜璃诀,卻給世界環(huán)境...
    茶點故事閱讀 39,357評論 3 307
  • 文/蒙蒙 一弧可、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧劣欢,春花似錦棕诵、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,357評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至牧抵,卻和暖如春搔确,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背灭忠。 一陣腳步聲響...
    開封第一講書人閱讀 31,590評論 1 261
  • 我被黑心中介騙來泰國打工膳算, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人弛作。 一個月前我還...
    沈念sama閱讀 45,636評論 2 355
  • 正文 我出身青樓涕蜂,卻偏偏與公主長得像,于是被迫代替她去往敵國和親映琳。 傳聞我的和親對象是個殘疾皇子机隙,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,925評論 2 344

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