MongoDB,Redis,Memcache三者之間的優缺點你真的明白?

前面兩期給大家講解了nosql,記以及三者之間的區別

MongoDB,Redis,Memcache三者之間的優缺點你真的明白?

今天這期主要給大家介紹下這三者的優缺點分別是什麼?看完之後希望能有夠對這三個有一個更加深入的認識

MongoDB優缺點

MongoDB,Redis,Memcache三者之間的優缺點你真的明白?

優點

1,內置GridFS,支持大容量的存儲, GridFS是一個出色的分佈式文件系統,可以支持海量的數據存儲。內置了GridFS了MongoDB,能夠滿足對大數據集的快速範圍查詢。

2,內置Sharding,分片簡單

3,大數據數據下,性能優越,在使用場合下,千萬級別的文檔對象,近10G的數據,對有索引的ID的查詢不會比mysql慢,而對非索引字段的查詢,則是全面勝出

4,支持自動故障恢復,

5,文檔結構的存儲方式,能夠更便捷的獲取數據

缺點

1、在集群分片中的數據分佈不均勻

2、單機可靠性比較差

3、大數據量持續插入,寫入性能有較大波動

4、磁盤空間佔用比較大

Redis優缺點

MongoDB,Redis,Memcache三者之間的優缺點你真的明白?

優點

1、讀寫功效優秀,從內存中間舉行IO讀寫速率迅速

2、支持主從複製,主機遇主動將數據同步到從機,可以或許舉行讀寫分別辨別。

MongoDB,Redis,Memcache三者之間的優缺點你真的明白?

3、支持數據持久化,支持AOF和RDB兩種歷久化要領,

4、支持多種數據存儲花樣,除了String範例外另有hash,set,sortedset、list等數據佈局。

5、redis是單線程多CPU,如許速率更迅速,因為單線程,沒有線程切換的開銷,不必要思量加鎖開釋所,也就沒有死鎖的題目,單線程-多路複用IO模子,服從高。

缺點

1.Redis只能應用單線程,功效受限於CPU功效,故單實例CPU最高才大概抵達5-6wQPS每秒(取決於數據佈局,數據鉅細以及服務器硬件功效,通常情況中QPS岑嶺大概在1-2w擺佈)。

2.支持簡短的交易必要,但業界應用場景很少,並不老到,既是優點也是缺點。

3.Redis在string範例上會花消較多內存,可以或許應用dict(hash表)蜷縮存儲以降落內存耗用。

Memcache優缺點

優點

1.Memcached可以或許行使多核上風,單實例吞吐量極高,可以或許抵達幾十萬QPS(取決於key、value的字節鉅細以及服務器硬件功效,通常情況中QPS岑嶺大概在4-6w擺佈)。適合於最大水平扛量。

2.支持乾脆建設為session handle。

缺點

1.不能持久化存儲

2.存儲數據有限制:1M 【大於1M,認為就行分割】(內存碎片)

3.mm存儲數據只能key-value

4.集群數據沒有複製和同步機制 【崩潰不會影響程序,會從數據庫中取數據】

MongoDB,Redis,Memcache三者之間的優缺點你真的明白?

以上就是關於這三者之間的區別,想要查看前兩期的內容可以點擊下方


分享到:


相關文章: