欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

Redis和Memcache對比及選擇

系統(tǒng) 2819 0

redis和memcahe都是通過tcp直接存取的

?

在選擇內(nèi)存數(shù)據(jù)庫的時候到底什么時候選擇redis,什么時候選擇memcache,然后就查到下面對應(yīng)的資料,是來自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]:

? ??沒有必要過多的關(guān)注性能。由于Redis只使用單核,而Memcached可以使用多核,所以在比較上,平均每一個核上Redis在存儲小數(shù)據(jù)時比Memcached性能更高。而在100k以上的數(shù)據(jù)中,Memcached性能要高于Redis,雖然Redis最近也在存儲大數(shù)據(jù)的性能上進行優(yōu)化,但是比起Memcached,還是稍有遜色。說了這么多,結(jié)論是,無論你使用哪一個,每秒處理請求的次數(shù)都不會成為瓶頸。

為什么這么說呢,理由就是Redis是單線程運行的。
因為是單線程運行,所以和Memcached的多線程相比,整體性能肯定會偏低。
因為是單線程運行,所以IO是串行化的,網(wǎng)絡(luò)IO和內(nèi)存IO,因此當單條數(shù)據(jù)太大時,由于需要等待一個命令的所有IO完成才能進行后續(xù)的命令,所以性能會受影響。
而就內(nèi)存使用上來說,目前Redis結(jié)合了tcmalloc和jemalloc兩個內(nèi)存分配器,基本上和Memcached不相伯仲。如果是簡單且有規(guī)律的key value存儲,那么用Redis的hash結(jié)構(gòu)來做,內(nèi)存使用上會驚人的變小,優(yōu)勢是很明顯的。

?

http://www.biaodianfu.com/redis-vs-memcached.html

? ??你需要關(guān)注內(nèi)存使用率。對于key-value這樣簡單的數(shù)據(jù)儲存,memcache的內(nèi)存使用率更高。如果采用hash結(jié)構(gòu),redis的內(nèi)存使用率會更高。當然,這些都依賴于具體的應(yīng)用場景。

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

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

? ??對于兩者的選擇還是要看具體的應(yīng)用場景,如果需要緩存的數(shù)據(jù)只是key-value這樣簡單的結(jié)構(gòu)時,我在項目里還是采用memcache,它也足夠的穩(wěn)定可靠。如果涉及到存儲,排序等一系列復(fù)雜的操作時,毫無疑問選擇redis。

? ?

? ? 關(guān)于redis和memcache的不同,下面羅列了一些相關(guān)說法,供記錄:

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

? ? 1、存儲方式:
? ? memecache 把數(shù)據(jù)全部存在內(nèi)存之中,斷電后會掛掉,數(shù)據(jù)不能超過內(nèi)存大小
? ? redis有部份存在硬盤上,這樣能保證數(shù)據(jù)的持久性,支持數(shù)據(jù)的持久化(筆者注:有快照和AOF日志兩種持久化方式,在實際應(yīng)用的時候,要特別注意配置文件快照參數(shù),要不就很有可能服務(wù)器頻繁滿載做dump)。
? ? 2、數(shù)據(jù)支持類型:
? ? redis在數(shù)據(jù)支持上要比memecache多的多。
? ? 3、使用底層模型不同:
? ? 新版本的redis直接自己構(gòu)建了VM 機制 ,因為一般的系統(tǒng)調(diào)用系統(tǒng)函數(shù)的話,會浪費一定的時間去移動和請求。
? ? 4、運行環(huán)境不同:
? ? redis目前官方只支持LINUX 上去行,從而省去了對于其它系統(tǒng)的支持,這樣的話可以更好的把精力用于本系統(tǒng) 環(huán)境上的優(yōu)化,雖然后來微軟有一個小組為其寫了補丁。但是沒有放到主干上

  5、 分布式存儲

redis支持master-slave復(fù)制模式
memcache可以使用一致性hash做分布式

6、 value大小不同

?memcache是一個內(nèi)存緩存,key的長度小于250字符,單個item存儲要小于1M,不適合虛擬機使用

7、 數(shù)據(jù)一致性不同

redis使用的是單線程模型,保證了數(shù)據(jù)按順序提交。
memcache需要使用cas保證數(shù)據(jù)一致性。CAS(Check and Set)是一個確保并發(fā)一致性的機制,屬于“樂觀鎖”范疇;原理很簡單:拿版本號,操作,對比版本號,如果一致就操作,不一致就放棄任何操作

8、 cpu利用

redis單線程模型只能使用一個cpu,可以開啟多個redis進程

9、 3. Redis支持數(shù)據(jù)的備份,即master-slave模式的數(shù)據(jù)備份。

10、 ?Redis和Memcache都是將數(shù)據(jù)存放在內(nèi)存中,都是內(nèi)存數(shù)據(jù)庫。不過memcache還可用 于緩存其他東西,例如圖片、視頻等等。

?

個人總結(jié)一下,有持久化需求或者對數(shù)據(jù)結(jié)構(gòu)和處理有高級要求的應(yīng)用,選擇redis,其他簡單的key/value存儲,選擇memcache。

?

redis使用場景:

http://www.linuxeden.com/html/itnews/20131010/144377.html

redis集群:

http://www.cnblogs.com/lulu/archive/2013/06/10/3130878.html

Redis和Memcache對比及選擇


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 精品亚洲福利一区二区 | 九九视频在线观看 | 色播放| 国产尤物在线观看一区二区 | 你懂的91 | 日韩精品免费在线视频 | 嫩嫩草网站 | 孕妇体内谢精满日本电影 | 国产亚洲欧美在线 | 日本成人中文字幕 | 精品人人| 天天色天天综合 | 色婷婷基地| 狠狠干香蕉 | 成人免费在线视频网站 | 色哟哟国产成人精品 | 色老师影院 | 久久人| 国产尤物在线观看一区二区 | 国产午夜精品理论片 | 男女男精品视频免费观看 | 欧美在线电影 | 午夜影剧 | 日本人videos18videosrrty | 日韩爽爽爽视频免费播放 | 91看片淫黄大片欧美看国产片 | 性一级录像片片视频免费看 | 国产成人免费永久播放视频平台 | 尤物网站永久在线观看 | 亚洲成a人片77777在线播放 | 好吊日免费视频 | 99动漫| 精品欧美一区二区三区四区 | a毛片免费| 91视频精选 | 亚洲第一区第二区 | 欧美亚洲一区二区三区四区 | xx00视频| 中文字幕专区 | 免费在线看a | 奇米777me|