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

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

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

Redis是什么?

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

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

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

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

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

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

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

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

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

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

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

Redis的缺點 :

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

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

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

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

MongoDB是什么?

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

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

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

MongoDB的特點是:

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

以上就是redis和mongodb優(yōu)缺點的知識匯總,內容較為全面,小編相信有部分知識點可能是我們日常工作可能會見到或用到的。希望你能通過這篇文章學到更多知識。

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

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

廣告

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

手機網(wǎng)站建設