溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

Redis和Memcache有什么區(qū)別

發(fā)布時(shí)間:2021-07-26 16:13:25 來(lái)源:億速云 閱讀:217 作者:Leah 欄目:數(shù)據(jù)庫(kù)

今天就跟大家聊聊有關(guān)Redis和Memcache有什么區(qū)別,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

總結(jié)一:

memcache官方定義

Free & open source, high-performance, distributed memory object caching system, generic in nature, but intended for use in speeding up dynamic web applications by alleviating database load.

redis官方定義

Redis is an open source, BSD licensed, advanced key-value store. It is often referred to as a data structure server since keys can contain strings, hashes, lists, sets and sorted sets.

版權(quán)相同

它們都是使用的bsd協(xié)議,使用它的項(xiàng)目可以用于商業(yè)用戶(hù),不必發(fā)布二次修改的代碼,可以修改源代碼。

數(shù)據(jù)類(lèi)型

redis數(shù)據(jù)類(lèi)型豐富,支持set liset等類(lèi)型
memcache支持簡(jiǎn)單數(shù)據(jù)類(lèi)型,需要客戶(hù)端自己處理復(fù)雜對(duì)象

持久性

redis支持?jǐn)?shù)據(jù)落地持久化存儲(chǔ)
memcache不支持?jǐn)?shù)據(jù)持久存儲(chǔ)

分布式存儲(chǔ)

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

value大小不同

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

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

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

cpu利用

redis單線(xiàn)程模型只能使用一個(gè)cpu,可以開(kāi)啟多個(gè)redis進(jìn)程

總結(jié)二:

1.Redis中,并不是所有的數(shù)據(jù)都一直存儲(chǔ)在內(nèi)存中的,這是和Memcached相比一個(gè)最大的區(qū)別。
2.Redis不僅僅支持簡(jiǎn)單的k/v類(lèi)型的數(shù)據(jù),同時(shí)還提供list,set,hash等數(shù)據(jù)結(jié)構(gòu)的存儲(chǔ)。
3.Redis支持?jǐn)?shù)據(jù)的備份,即master-slave模式的數(shù)據(jù)備份。
4.Redis支持?jǐn)?shù)據(jù)的持久化,可以將內(nèi)存中的數(shù)據(jù)保持在磁盤(pán)中,重啟的時(shí)候可以再次加載進(jìn)行使用。
我個(gè)人認(rèn)為最本質(zhì)的不同是Redis在很多方面具備數(shù)據(jù)庫(kù)的特征,或者說(shuō)就是一個(gè)數(shù)據(jù)庫(kù)系統(tǒng),而Memcached只是簡(jiǎn)單的K/V緩存

總結(jié)三:

redis和memecache的不同在于:

1、存儲(chǔ)方式:
memecache 把數(shù)據(jù)全部存在內(nèi)存之中,斷電后會(huì)掛掉,數(shù)據(jù)不能超過(guò)內(nèi)存大小
redis有部份存在硬盤(pán)上,這樣能保證數(shù)據(jù)的持久性。
2、數(shù)據(jù)支持類(lèi)型:
redis在數(shù)據(jù)支持上要比memecache多的多。
3、使用底層模型不同:
新版本的redis直接自己構(gòu)建了VM 機(jī)制 ,因?yàn)橐话愕南到y(tǒng)調(diào)用系統(tǒng)函數(shù)的話(huà),會(huì)浪費(fèi)一定的時(shí)間去移動(dòng)和請(qǐng)求。
4、運(yùn)行環(huán)境不同:
redis目前官方只支持LINUX 上去行,從而省去了對(duì)于其它系統(tǒng)的支持,這樣的話(huà)可以更好的把精力用于本系統(tǒng) 環(huán)境上的優(yōu)化,雖然后來(lái)微軟有一個(gè)小組為其寫(xiě)了補(bǔ)丁。但是沒(méi)有放到主干上

memcache只能當(dāng)做緩存,cache
redis的內(nèi)容是可以落地的,就是說(shuō)跟mongodb有些類(lèi)似,然后redis也可以作為緩存,并且可以設(shè)置master-slave

看完上述內(nèi)容,你們對(duì)Redis和Memcache有什么區(qū)別有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注億速云行業(yè)資訊頻道,感謝大家的支持。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI