mysql,redis,mongodb的使用場景及區別
阿新 • • 發佈:2018-12-18
所以總結一下,MongoDB 的適用場景為:資料不是特別重要(例如通知,推送這些),資料表結構變化較為頻繁,資料量特別大,資料的併發性特別高,資料結構比較特別(例如地圖的位置座標),這些情況下用 MongoDB , 其他情況就還是用 MySQL ,這樣組合使用就可以達到最大的效率。
簡介
MongoDB更類似Mysql,支援欄位索引、遊標操作,其優勢在於查詢功能比較強大,擅長查詢JSON資料,能儲存海量資料,但是不支援事務。
Mysql在大資料量時效率顯著下降,MongoDB更多時候作為關係資料庫的一種替代。
記憶體管理機制
Redis資料全部存在記憶體,定期寫入磁碟,當記憶體不夠時,可以選擇指定的LRU演算法刪除資料。
MongoDB資料存在記憶體,由linux系統mmap實現,當記憶體不夠時,只將熱點資料放入記憶體,其他資料存在磁碟。
支援的資料結構
Redis支援的資料結構豐富,包括hash、set、list等。
MongoDB資料結構比較單一,但是支援豐富的資料表達,索引,最類似關係型資料庫,支援的查詢語言非常豐富。
效能
二者效能都比較高,應該說都不會是瓶頸。
可靠性
二者均支援持久化。
叢集
MongoDB叢集技術比較成熟,Redis從3.0開始支援叢集。
不適用場景
Ø 需要使用複雜sql的操作
Ø 事務性系統