1. 程式人生 > >mysql,redis,mongodb的使用場景及區別

mysql,redis,mongodb的使用場景及區別

所以總結一下,MongoDB 的適用場景為:資料不是特別重要(例如通知,推送這些),資料表結構變化較為頻繁,資料量特別大,資料的併發性特別高,資料結構比較特別(例如地圖的位置座標),這些情況下用 MongoDB , 其他情況就還是用 MySQL ,這樣組合使用就可以達到最大的效率。

簡介

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

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

記憶體管理機制

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

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

支援的資料結構

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

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

效能

二者效能都比較高,應該說都不會是瓶頸。

可靠性

二者均支援持久化。

叢集

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

不適用場景

Ø  需要使用複雜sql的操作

Ø  事務性系統