Redis和Memcache對比及選擇

參考來源:http://blog.csdn.net/sunmenggmail/article/details/36176029

我這段時間在用Redis嗽元,感覺挺方便的阴汇,但比較疑惑在選擇內(nèi)存數(shù)據(jù)庫的時候到底什么時候選擇redis踢步,什么時候選擇memcache,然后就查到下面對應的資料桩盲,是來自redis作者的說法(stackoverflow上面)眯勾。


You should not care too much about performances. Redis is faster per core with small values, but memcached is able to use multiple cores with a single executable and TCP port without help from the client. Also memcached is faster with big values in the order of 100k. Redis recently improved a lot about big values (unstable branch) but still memcached is faster in this use case. The point here is: nor one or the other will likely going to be your bottleneck for the query-per-second they can deliver.

You should care about memory usage. For simple key-value pairs memcached is more memory efficient. If you use Redis hashes, Redis is more memory efficient. Depends on the use case.

You should care about persistence and replication, two features only available in Redis. Even if your goal is to build a cache it helps that after an upgrade or a reboot your data are still there.

You should care about the kind of operations you need. In Redis there are a lot of complex operations, even just considering the caching use case, you often can do a lot more in a single operation, without requiring data to be processed client side (a lot of I/O is sometimes needed). This operations are often as fast as plain GET and SET. So if you don’t need just GEt/SET but more complex things Redis can help a lot (think at timeline caching).


有網(wǎng)友翻譯如下[1]:

沒有必要過多的關注性能吨拍。由于Redis只使用單核叙凡,而Memcached可以使用多核,所以在比較上密末,平均每一個核上Redis在存儲小數(shù)據(jù)時比Memcached性能更高握爷。而在100k以上的數(shù)據(jù)中跛璧,Memcached性能要高于Redis,雖然Redis最近也在存儲大數(shù)據(jù)的性能上進行優(yōu)化新啼,但是比起Memcached追城,還是稍有遜色。說了這么多燥撞,結論是座柱,無論你使用哪一個,每秒處理請求的次數(shù)都不會成為瓶頸物舒。

你需要關注內(nèi)存使用率色洞。對于key-value這樣簡單的數(shù)據(jù)儲存,memcache的內(nèi)存使用率更高冠胯。如果采用hash結構火诸,redis的內(nèi)存使用率會更高。當然荠察,這些都依賴于具體的應用場景置蜀。

你需要關注關注數(shù)據(jù)持久化和主從復制時,只有redis擁有這兩個特性悉盆。如果你的目標是構建一個緩存在升級或者重啟后之前的數(shù)據(jù)不會丟失的話盯荤,那也只能選擇redis。

你應該關心你需要的操作焕盟。redis支持很多復雜的操作秋秤,甚至只考慮內(nèi)存的使用情況,在一個單一操作里你常辰徘蹋可以做很多灼卢,而不需要將數(shù)據(jù)讀取到客戶端中(這樣會需要很多的IO操作)。這些復雜的操作基本上和純GET和POST操作一樣快堰怨,所以你不只是需要GET/SET而是更多的操作時,redis會起很大的作用蛇摸。

對于兩者的選擇還是要看具體的應用場景备图,如果需要緩存的數(shù)據(jù)只是key-value這樣簡單的結構時,我在項目里還是采用memcache赶袄,它也足夠的穩(wěn)定可靠揽涮。如果涉及到存儲,排序等一系列復雜的操作時饿肺,毫無疑問選擇redis蒋困。

關于redis和memcache的不同,下面羅列了一些相關說法敬辣,供記錄:

redis和memecache的不同在于[2]:

1雪标、存儲方式:

memecache 把數(shù)據(jù)全部存在內(nèi)存之中零院,斷電后會掛掉,數(shù)據(jù)不能超過內(nèi)存大小

redis有部份存在硬盤上村刨,這樣能保證數(shù)據(jù)的持久性告抄,支持數(shù)據(jù)的持久化(筆者注:有快照和AOF日志兩種持久化方式,在實際應用的時候嵌牺,要特別注意配置文件快照參數(shù)打洼,要不就很有可能服務器頻繁滿載做dump)。

2逆粹、數(shù)據(jù)支持類型:

redis在數(shù)據(jù)支持上要比memecache多的多募疮。

3、使用底層模型不同:

新版本的redis直接自己構建了VM 機制 僻弹,因為一般的系統(tǒng)調用系統(tǒng)函數(shù)的話阿浓,會浪費一定的時間去移動和請求。

4奢方、運行環(huán)境不同:

redis目前官方只支持Linux上去行搔扁,從而省去了對于其它系統(tǒng)的支持,這樣的話可以更好的把精力用于本系統(tǒng) 環(huán)境上的優(yōu)化蟋字,雖然后來微軟有一個小組為其寫了補丁稿蹲。但是沒有放到主干上

個人總結一下,有持久化需求或者對數(shù)據(jù)結構和處理有高級要求的應用鹊奖,選擇redis苛聘,其他簡單的key/value存儲,選擇memcache忠聚。

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末设哗,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子两蟀,更是在濱河造成了極大的恐慌网梢,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,602評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件赂毯,死亡現(xiàn)場離奇詭異战虏,居然都是意外死亡,警方通過查閱死者的電腦和手機党涕,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,442評論 2 382
  • 文/潘曉璐 我一進店門烦感,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人膛堤,你說我怎么就攤上這事手趣。” “怎么了肥荔?”我有些...
    開封第一講書人閱讀 152,878評論 0 344
  • 文/不壞的土叔 我叫張陵绿渣,是天一觀的道長朝群。 經(jīng)常有香客問我,道長怯晕,這世上最難降的妖魔是什么潜圃? 我笑而不...
    開封第一講書人閱讀 55,306評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮舟茶,結果婚禮上谭期,老公的妹妹穿的比我還像新娘。我一直安慰自己吧凉,他們只是感情好隧出,可當我...
    茶點故事閱讀 64,330評論 5 373
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著阀捅,像睡著了一般胀瞪。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上饲鄙,一...
    開封第一講書人閱讀 49,071評論 1 285
  • 那天凄诞,我揣著相機與錄音,去河邊找鬼忍级。 笑死帆谍,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的轴咱。 我是一名探鬼主播汛蝙,決...
    沈念sama閱讀 38,382評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼朴肺!你這毒婦竟也來了窖剑?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 37,006評論 0 259
  • 序言:老撾萬榮一對情侶失蹤戈稿,失蹤者是張志新(化名)和其女友劉穎西土,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體鞍盗,經(jīng)...
    沈念sama閱讀 43,512評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡需了,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,965評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了橡疼。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片援所。...
    茶點故事閱讀 38,094評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡庐舟,死狀恐怖欣除,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情挪略,我是刑警寧澤历帚,帶...
    沈念sama閱讀 33,732評論 4 323
  • 正文 年R本政府宣布滔岳,位于F島的核電站,受9級特大地震影響挽牢,放射性物質發(fā)生泄漏谱煤。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,283評論 3 307
  • 文/蒙蒙 一禽拔、第九天 我趴在偏房一處隱蔽的房頂上張望刘离。 院中可真熱鬧,春花似錦睹栖、人聲如沸硫惕。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,286評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽恼除。三九已至,卻和暖如春曼氛,著一層夾襖步出監(jiān)牢的瞬間豁辉,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,512評論 1 262
  • 我被黑心中介騙來泰國打工舀患, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留徽级,地道東北人。 一個月前我還...
    沈念sama閱讀 45,536評論 2 354
  • 正文 我出身青樓构舟,卻偏偏與公主長得像灰追,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子狗超,可洞房花燭夜當晚...
    茶點故事閱讀 42,828評論 2 345

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