首頁 > 資料庫 > Redis > 主體

MongoDB和Redis的差別是什麼

青灯夜游
發布: 2019-06-18 10:50:55
原創
59589 人瀏覽過

MongoDB和Redis的差別是什麼

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

Redis 是一個開源(BSD許可)的,記憶體中的資料結構儲存系統,支援多種類型的資料結構,可用作資料庫,高速緩存和訊息佇列代理程式。

MongoDB和Redis的差別是什麼

1、記憶體管理機制

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

MongoDB 資料存在內存,由 linux系統 mmap 實現,當內存不夠時,只將熱點資料放入內存,其他資料存在磁碟。

2、支援的資料結構

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

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

3、資料量與效能:

當實體記憶體夠用的時候,redis>mongodb>mysql

當實體記憶體不夠用的時候,redis和mongodb都會使用虛擬記憶體。

實際上如果redis要開始虛擬內存,那很明顯要么加內存條,要么你換個數據庫了。

但是,mongodb不一樣,只要,業務上能保證,冷熱資料的讀寫比,使得熱資料在物理記憶體中,mmap的交換較少。

mongodb還是能夠保證效能。

4、效能

mongodb依賴內存,TPS較高;Redis依賴內存,TPS非常高。效能上Redis優於MongoDB。

5、可靠性

mongodb從1.8版本後,採用binlog方式(MySQL同樣採用此方式)支援持久化,增加可靠性;

Redis依賴快照進行持久化;AOF增強可靠性;增強可靠性的同時,影響存取效能。

可靠性上MongoDB優於Redis。

6、資料分析

mongodb內建資料分析功能(mapreduce);而Redis不支援。

7、事務支援情況

Redis 事務支援比較弱,只能保證事務中的每個操作連續執行;mongodb不支援事務。

8、叢集

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

相關影片教學推薦:《MongoDB教學》、《Redis教學

以上是MongoDB和Redis的差別是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板