Redis數(shù)據(jù)庫(kù)的使用場(chǎng)景介紹(避免誤用Redis)
來(lái)源:易賢網(wǎng) 閱讀:867 次 日期:2015-04-14 14:09:12
溫馨提示:易賢網(wǎng)小編為您整理了“Redis數(shù)據(jù)庫(kù)的使用場(chǎng)景介紹(避免誤用Redis)”,方便廣大網(wǎng)友查閱!

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

我們可以對(duì)系統(tǒng)存儲(chǔ)使用的數(shù)據(jù)以?xún)煞N角度分類(lèi),一種是按數(shù)據(jù)的大小劃分,分成大數(shù)據(jù)和小數(shù)據(jù),另一種是按數(shù)據(jù)的冷熱程度劃分,分成冷數(shù)據(jù)和熱數(shù)據(jù),熱數(shù)據(jù)是指讀或?qū)懕容^頻繁的數(shù)據(jù),反之則是冷數(shù)據(jù)。

可以舉一些具體的例子來(lái)說(shuō)明數(shù)據(jù)的大小和冷熱屬性。比如網(wǎng)站總的注冊(cè)用戶(hù)數(shù),這明顯是一個(gè)小而熱的數(shù)據(jù),小是因?yàn)檫@個(gè)數(shù)據(jù)只有一個(gè)值,熱是因?yàn)樽?cè)用戶(hù)數(shù)隨時(shí)間變化很頻繁。再比如,用戶(hù)最新訪(fǎng)問(wèn)時(shí)間數(shù)據(jù),這是一個(gè)量比較大,冷熱不均的數(shù)據(jù),大是數(shù)據(jù)的粒度是用戶(hù)級(jí)別,每一個(gè)用戶(hù)都有數(shù)據(jù),如果有一千萬(wàn)用戶(hù),就意味著有一千萬(wàn)的數(shù)據(jù),冷熱不均是因?yàn)榛钴S用戶(hù)的最新訪(fǎng)問(wèn)時(shí)間變化很頻繁,但是可能有很大一部非活躍用戶(hù)訪(fǎng)問(wèn)時(shí)間長(zhǎng)時(shí)間不會(huì)發(fā)生變化。

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

首先,對(duì)于冷數(shù)據(jù),無(wú)論大小,都不建議放在 Redis 中。Redis 數(shù)據(jù)要全部放在內(nèi)存中,資源寶貴,把冷數(shù)據(jù)放在其中實(shí)在是一種浪費(fèi),冷數(shù)據(jù)放在普通的存儲(chǔ)比如關(guān)系數(shù)據(jù)庫(kù)中就好了。

其次,對(duì)于熱數(shù)據(jù),尤其是寫(xiě)頻繁的熱數(shù)據(jù),如果量比較小,是最適合放到 Redis 中的。比如上面提到的網(wǎng)站總的注冊(cè)用戶(hù)數(shù),就是典型的 Redis 用做計(jì)數(shù)器的例子。再比如論壇最新發(fā)表列表,最新報(bào)名列表,可以控制數(shù)量在幾百到一千的規(guī)模,也是典型的 redis 做最新列表的使用方式。

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

如果用對(duì)了地方,比如在小而熱的數(shù)據(jù)情形,Redis 表現(xiàn)很棒,如果用錯(cuò)了地方,Redis 也會(huì)帶來(lái)昂貴的代價(jià),所以使用時(shí)務(wù)必謹(jǐn)慎。

更多信息請(qǐng)查看IT技術(shù)專(zhuān)欄

更多信息請(qǐng)查看數(shù)據(jù)庫(kù)
由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢(xún)回復(fù)僅供參考,敬請(qǐng)考生以權(quán)威部門(mén)公布的正式信息和咨詢(xún)?yōu)闇?zhǔn)!

2025國(guó)考·省考課程試聽(tīng)報(bào)名

  • 報(bào)班類(lèi)型
  • 姓名
  • 手機(jī)號(hào)
  • 驗(yàn)證碼
關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡(jiǎn)要咨詢(xún) | 簡(jiǎn)要咨詢(xún)須知 | 加入群交流 | 手機(jī)站點(diǎn) | 投訴建議
工業(yè)和信息化部備案號(hào):滇ICP備2023014141號(hào)-1 云南省教育廳備案號(hào):云教ICP備0901021 滇公網(wǎng)安備53010202001879號(hào) 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號(hào)
云南網(wǎng)警備案專(zhuān)用圖標(biāo)
聯(lián)系電話(huà):0871-65099533/13759567129 獲取招聘考試信息及咨詢(xún)關(guān)注公眾號(hào):hfpxwx
咨詢(xún)QQ:526150442(9:00—18:00)版權(quán)所有:易賢網(wǎng)
云南網(wǎng)警報(bào)警專(zhuān)用圖標(biāo)