分布式緩存Redis與Memcached的優(yōu)缺點(diǎn)區(qū)別比較
為什么Memcached和Redis如此流行? 不僅是其具有超高的性能,還因?yàn)橄鄬?duì)來(lái)說(shuō)他們都非常簡(jiǎn)單。 對(duì)程序員來(lái)說(shuō)上手使用Memcached或Redis相當(dāng)容易。 安裝和設(shè)置并集成到系統(tǒng)中可能只需要幾分鐘時(shí)間。 因此花費(fèi)一點(diǎn)點(diǎn)時(shí)間和精力就能立刻大幅提升系統(tǒng)性能 —— 通常是提升一個(gè)數(shù)量級(jí)。 一個(gè)簡(jiǎn)潔的解決方案卻能獲得巨大的性能收益。
Memcached還是Redis? 在現(xiàn)代高性能Web應(yīng)用中這一直是個(gè)爭(zhēng)論不休的話題。 在基于關(guān)系型數(shù)據(jù)庫(kù)的Web應(yīng)用需要提高性能時(shí),使用緩存是絕大多數(shù)架構(gòu)師的第一選擇,自然,Memcached和Redis通常是優(yōu)先選擇。Redis和Memcached都是基于內(nèi)存key-value的數(shù)據(jù)存儲(chǔ)系統(tǒng)。兩者都可以通過(guò)緩存數(shù)據(jù)結(jié)果,HTML片段或其他可能產(chǎn)生成本很高的內(nèi)容來(lái)幫助加快應(yīng)用程序的速度。
與Memcached類似,Redis將大部分?jǐn)?shù)據(jù)存儲(chǔ)在內(nèi)存中,支持的數(shù)據(jù)類型包括:字符串、哈希表、鏈表、集合、有序集合以及基于這些數(shù)據(jù)類型的相關(guān)操作。那么,Memcached與Redis有什么區(qū)別呢?讓我們一起來(lái)看一下。
Memcache與Redis的區(qū)別都有哪些?
1)、存儲(chǔ)方式
Memecache把數(shù)據(jù)全部存在內(nèi)存之中,斷電后會(huì)掛掉,數(shù)據(jù)不能超過(guò)內(nèi)存大小。
Redis有部份存在硬盤上,這樣能保證數(shù)據(jù)的持久性。
使用簡(jiǎn)單的key-value存儲(chǔ)的話,Memcached的內(nèi)存利用率更高,而如果Redis采用hash結(jié)構(gòu)來(lái)做key-value存儲(chǔ),由于其組合式的壓縮,其內(nèi)存利用率會(huì)高于Memcached。
2)、數(shù)據(jù)支持類型
Memcache對(duì)數(shù)據(jù)類型支持相對(duì)簡(jiǎn)單。
Redis有復(fù)雜的數(shù)據(jù)類型。
3)、使用底層模型不同
它們之間底層實(shí)現(xiàn)方式 以及與客戶端之間通信的應(yīng)用協(xié)議不一樣。
Redis直接自己構(gòu)建了VM 機(jī)制 ,因?yàn)橐话愕南到y(tǒng)調(diào)用系統(tǒng)函數(shù)的話,會(huì)浪費(fèi)一定的時(shí)間去移動(dòng)和請(qǐng)求。
4)、value大小
redis最大可以達(dá)到1GB,而memcache只有1MB
redis相比memcached有哪些優(yōu)勢(shì)?
(1) memcached所有的值均是簡(jiǎn)單的字符串,redis作為其替代者,支持更為豐富的數(shù)據(jù)類型
(2) redis的速度比memcached快很多
(3) redis可以持久化其數(shù)據(jù)
使用redis有哪些好處?
(1) 速度快,因?yàn)閿?shù)據(jù)存在內(nèi)存中,類似于HashMap,HashMap的優(yōu)勢(shì)就是查找和操作的時(shí)間復(fù)雜度都是O(1)
(2) 支持豐富數(shù)據(jù)類型,支持string,list,set,sorted set,hash
(3) 支持事務(wù),操作都是原子性,所謂的原子性就是對(duì)數(shù)據(jù)的更改要么全部執(zhí)行,要么全部不執(zhí)行
(4) 豐富的特性:可用于緩存,消息,按key設(shè)置過(guò)期時(shí)間,過(guò)期后將會(huì)自動(dòng)刪除
與memcached相比,Redis功能更強(qiáng)大,更受歡迎并且得到更好的支持。即使Redis的功能重疊,Redis也更好。Redis可以完成與memcached相同的工作,并且可以做得更好。Redis是新興的通用存儲(chǔ)系統(tǒng),而Memcached仍有其適用領(lǐng)域。
相關(guān)文章
大數(shù)據(jù)量時(shí)提高分頁(yè)的效率
當(dāng)我們?cè)谔幚泶罅繑?shù)據(jù)的時(shí)候,就需要注意分頁(yè)的效率問(wèn)題了,下面大家可以看看2009-03-03
使用Navicat生成ER關(guān)系圖并導(dǎo)出的方法
這篇文章主要介紹了使用Navicat生成ER關(guān)系圖并導(dǎo)出的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11
Navicat Premium 16最新永久激活教程(NavicatCracker)
最新版的Navicat Premium 16 已經(jīng)發(fā)布,今天小編給大家分享Navicat Premium 16最新永久激活教程(NavicatCracker),感興趣的朋友跟隨小編一起看看吧2023-06-06
關(guān)系型數(shù)據(jù)庫(kù)的設(shè)計(jì)規(guī)則詳解
大家好,本篇文章主要講的是關(guān)系型數(shù)據(jù)庫(kù)的設(shè)計(jì)規(guī)則詳解,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話記得收藏一下,方便下次瀏覽2021-12-12
Navicat Premium 15 永久破解激活工具及安裝教程(親測(cè)可用)
這篇文章主要介紹了Navicat Premium 15 永久破解激活教程,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-11-11
時(shí)序數(shù)據(jù)庫(kù)VictoriaMetrics源碼解析之寫(xiě)入與索引
這篇文章主要為大家介紹了VictoriaMetrics時(shí)序數(shù)據(jù)庫(kù)的寫(xiě)入與索引源碼解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-05-05
Clickhouse系列之整合Hive數(shù)據(jù)倉(cāng)庫(kù)示例詳解
這篇文章主要為大家介紹了Clickhouse系列之整合Hive數(shù)據(jù)倉(cāng)庫(kù)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-10-10
由拖庫(kù)攻擊談口令字段的加密策略(數(shù)據(jù)庫(kù)加密)
我不得不慘痛地寫(xiě)在前面的是,這是一個(gè)安全崩盤的時(shí)代。過(guò)去一年,已經(jīng)證實(shí)的遭遇入侵、并導(dǎo)致關(guān)鍵數(shù)據(jù)被竊或者被泄露的公司,包括索尼、世嘉這樣的大型游戲設(shè)備廠商;包括花旗銀行這樣的金融機(jī)構(gòu),也包括了RSA這樣的安全廠商2012-01-01
SQL中where子句與having子句的區(qū)別小結(jié)
這篇文章主要給大家介紹了關(guān)于SQL中where子句與having子句的區(qū)別的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2018-12-12

