redis存储数据类型_Redis与Memcahe的区别最全整理
經(jīng)??吹酱蠹抑荒軐Ρ萺edis和memecache的前兩項區(qū)別【持久化】和【數(shù)據(jù)類型】,這里,給整理了最全的memcache和redis的區(qū)別,歡迎交流哦
緩存
(1)【持久化能力】Redis支持持久化,memcache也支持但一般不做持久化(重啟丟失數(shù)據(jù))
(2)【數(shù)據(jù)類型支持】Redis類型較多(5種數(shù)據(jù)類型,string、list、hash、set、sorted set),memcache只能是字符串
(3)【線程模型】Redis是單線程+多路IO復(fù)用,雖然沒有鎖沖突,但很難利用多核特性提升整體吞吐量。memecache是多線程+鎖的方式,主線程監(jiān)聽,work子線程接受請求,執(zhí)行讀寫,有鎖沖突。;
(4)【數(shù)據(jù)庫特征】Redis不是所有的數(shù)據(jù)都存儲在內(nèi)存,在很多方面具備數(shù)據(jù)庫的特征,memcache只是簡單的kv緩存;相當(dāng)于memchache更像是redis在功能上的一個子集。
(5)【高可用支持】高可用(redis原生支持高可用功能,可以實現(xiàn)主從復(fù)制,哨兵模式,redis集群模式,而memcache要實現(xiàn)高可用,需要進(jìn)行二次開發(fā),例如客戶端的雙讀雙寫,或者服務(wù)端的集群同步)(延伸:雖然數(shù)據(jù)類型單一,但是memcache的內(nèi)存管理機(jī)制導(dǎo)致無碎片,這讓memcache工作更加穩(wěn)定,而redis本身也考慮到自己功能復(fù)雜,會產(chǎn)生碎片,并且容易崩潰,所以支持高可用)
(6)【內(nèi)容大小比較】redis存儲的內(nèi)容比較大(memcache的value存儲最大是1M,如果存儲value很大,只能選擇redis)
(7)【內(nèi)存分配】memchache使用預(yù)分配內(nèi)存池的方式管理內(nèi)存,能夠省去內(nèi)存分配的時間,這個節(jié)省的時間在數(shù)據(jù)量很大的時候還是很可觀的。而redis則是臨時申請空間,可能導(dǎo)致碎片。Redis和Memcache在寫入性能上面差別不大的,讀取性能上面尤其是批量讀取性能上面Memcache更強(qiáng)的。
總結(jié)
以上是生活随笔為你收集整理的redis存储数据类型_Redis与Memcahe的区别最全整理的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 主存和cache每一块相等_CPU中的C
- 下一篇: 简述oracle的主要数据库对象,Ora