redis和mongodb的優(yōu)缺點

今天小編就為大家?guī)硪黄懻搑edis和MongoDB優(yōu)缺點的文章。小編覺得挺不錯的,為此分享給大家做個參考。一起跟隨小編過來看看吧。

站在用戶的角度思考問題,與客戶深入溝通,找到甘肅網(wǎng)站設(shè)計與甘肅網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗,讓設(shè)計與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:成都網(wǎng)站設(shè)計、成都做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣、域名注冊、雅安服務(wù)器托管、企業(yè)郵箱。業(yè)務(wù)覆蓋甘肅地區(qū)。

Redis是什么?

Redis是一個開源的使用ANSI C語言編寫、支持網(wǎng)絡(luò)、可基于內(nèi)存亦可持久化的日志型、Key-Value非關(guān)系型數(shù)據(jù)庫,并提供多種語言的API。redis是一個key-value存儲系統(tǒng)。Redis是非關(guān)系型數(shù)據(jù)庫的一種,經(jīng)常用作緩存。

redis和mongodb的優(yōu)缺點

和Memcached類似,它支持存儲的value類型相對更多,包括string(字符串)、list(鏈表)、set(集合)、zset(sorted set --有序集合)和hash(哈希類型)。這些數(shù)據(jù)類型都支持push/pop、add/remove及取交集并集和差集及更豐富的操作,而且這些操作都是原子性的。在此基礎(chǔ)上,redis支持各種不同方式的排序。

與memcached一樣,為了保證效率,數(shù)據(jù)都是緩存在內(nèi)存中。區(qū)別的是redis會周期性的把更新的數(shù)據(jù)寫入磁盤或者把修改操作寫入追加的記錄文件,并且在此基礎(chǔ)上實現(xiàn)了master-slave(主從)同步。

Redis有以下的優(yōu)點:

1.支持多種數(shù)據(jù)結(jié)構(gòu),如 string(字符串)、 list(雙向鏈表)、dict(hash表)、set(集合)、zset(排序set)、hyperloglog(基數(shù)估算)

2.支持持久化操作,可以進行aof及rdb數(shù)據(jù)持久化到磁盤,從而進行數(shù)據(jù)備份或數(shù)據(jù)恢復(fù)等操作,較好的防止數(shù)據(jù)丟失的手段。

3.支持通過Replication進行數(shù)據(jù)復(fù)制,通過master-slave機制,可以實時進行數(shù)據(jù)的同步復(fù)制,支持多級復(fù)制和增量復(fù)制,master-slave機制是Redis進行HA的重要手段。

單線程請求,所有命令串行執(zhí)行,并發(fā)情況下不需要考慮數(shù)據(jù)一致性問題。

4.支持pub/sub消息訂閱機制,可以用來進行消息訂閱與通知。

5.支持簡單的事務(wù)需求,但業(yè)界使用場景很少,并不成熟。

Redis的缺點 :

1.Redis只能使用單線程,性能受限于CPU性能,故單實例CPU最高才可能達到5-6wQPS每秒(取決于數(shù)據(jù)結(jié)構(gòu),數(shù)據(jù)大小以及服務(wù)器硬件性能,日常環(huán)境中QPS高峰大約在1-2w左右)。

2.支持簡單的事務(wù)需求,但業(yè)界使用場景很少,并不成熟,既是優(yōu)點也是缺點。

3.Redis在string類型上會消耗較多內(nèi)存,可以使用dict(hash表)壓縮存儲以降低內(nèi)存耗用。

4.Mc和Redis都是Key-Value類型,不適合在不同數(shù)據(jù)集之間建立關(guān)系,也不適合進行查詢搜索。比如redis的keys pattern這種匹配操作,對redis的性能是災(zāi)難。

MongoDB是什么?

MongoDB是一個基于分布式文件存儲的數(shù)據(jù)庫。先解釋一下文檔的數(shù)據(jù)庫,即可以存放xml、json、bson類型系那個的數(shù)據(jù)。同時MongoDB是由C++語言編寫。旨在為WEB應(yīng)用提供可擴展的高性能數(shù)據(jù)存儲解決方案。 是一個介于關(guān)系數(shù)據(jù)庫和非關(guān)系數(shù)據(jù)庫之間的產(chǎn)品,是非關(guān)系數(shù)據(jù)庫當(dāng)中功能最豐富,最像關(guān)系數(shù)據(jù)庫的。

它支持的數(shù)據(jù)結(jié)構(gòu)非常松散,是類似json的bson格式,因此可以存儲比較復(fù)雜的數(shù)據(jù)類型。Mongo最大的特點是它支持的查詢語言非常強大,其語法有點類似于面向?qū)ο蟮牟樵冋Z言,幾乎可以實現(xiàn)類似關(guān)系數(shù)據(jù)庫單表查詢的絕大部分功能,而且還支持對數(shù)據(jù)建立索引。

mongodb與MySQL不同,mysql的每一次更新操作都會直接寫入硬盤,但是mongo不會,做為內(nèi)存型數(shù)據(jù)庫,數(shù)據(jù)操作會先寫入內(nèi)存,然后再會持久化到硬盤中去 ,但MongoDB采用的預(yù)分配空間的方式來防止文件碎片,所以MongoDB的數(shù)據(jù)文件很大。

MongoDB的特點是:

(1)面向文檔(2)高性能(3)高可用(4)易擴展(5)豐富的查詢語言

以上就是redis和mongodb優(yōu)缺點的知識匯總,內(nèi)容較為全面,小編相信有部分知識點可能是我們?nèi)粘9ぷ骺赡軙姷交蛴玫降?。希望你能通過這篇文章學(xué)到更多知識。

本文標題:redis和mongodb的優(yōu)缺點
文章起源:http://bm7419.com/article24/iiopce.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站策劃、虛擬主機網(wǎng)站建設(shè)、企業(yè)建站、電子商務(wù)、外貿(mào)網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

手機網(wǎng)站建設(shè)