歡迎您光臨本站 註冊首頁

· mongodb redis雜誌閱讀

redis與mongodb的區別總結

admin @ 2020-04-18 reply:0

MongoDB更類似MySQL,支援欄位索引、遊標操作,其優勢在於查詢功能比較強大,擅長查詢JSON資料,能儲存海量資料,但是不支援事務。

Mysql在大資料量時效率顯著下降,MongoDB更多時候作為關係資料庫的一種替代。

mongodb更吃記憶體,因為當mongo發現記憶體不夠的時候,是以2的指數級別來申請記憶體的。所以一般都建議把mongodb單獨放。

其實可以說redis更像快取機制,cookie,也可以設定資料的過期時間,當然也可以永久儲存(但是好像稍遜色?)。mongodb是文件式的儲存。

記憶體管理機制:

Redis資料全部存在記憶體,定期寫入磁碟,當記憶體不夠時,可以選擇指定的LRU演演演算法刪除資料。

MongoDB和mysql一樣,只是把索引檔案放到記憶體中。由linux系統mmap實現,當記憶體不夠時,只將熱點資料放入記憶體,其他資料存在磁碟。

支援的資料結構:

Redis支援的資料結構豐富,包括hash、set、list等。

MongoDB資料結構比較單一,但是支援豐富的資料表達,索引,最類似關係型資料庫,支援的查詢語言非常豐富。

效能:

redis更適用於較小資料量的效能及運算

mongodb則在海量資料的訪問下效能更優

可靠性:

二者均支援持久化。

叢集:

MongoDB叢集技術比較成熟,Redis從3.0開始支援叢集。

不適用場景:

Ø 需要使用複雜sql的操作

Ø 事務性系統

適用場景:

Redis 最佳應用場景:適用於資料變化快且資料庫大小可遇見(適合記憶體容量)的應用程式。

MongoDB:最佳應用場景:適用於需要動態查詢支援;需要使用索引而不是 map/reduce功能;需要對大資料庫有效能要求;需要使用 CouchDB但因為資料改變太頻繁而佔滿記憶體的應用程式。

[admin via ] redis與mongodb的區別總結已經有459次圍觀

http://coctec.com/magazine/show-post-item-75.html