您好,登錄后才能下訂單哦!
本篇文章為大家展示了mongodb與redis的區別,代碼簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
簡介
MongoDB 更類似 MySQL,支持字段索引、游標操作,其優勢在于查詢功能比較強大,擅長查詢 JSON 數據,能存儲海量數據,但是不支持事務。
MySQL 在大數據量時效率顯著下降,MongoDB 更多時候作為關系數據庫的一種替代。
Redis 是一個開源(BSD許可)的,內存中的數據結構存儲系統,它可以用作數據庫、緩存和消息中間件。它支持多種類型的數據結構,如 字符串(strings), 散列(hashes),列表(lists), 集合(sets), 有序集合(sorted sets) 與范圍查詢, bitmaps, hyperloglogs 和 地理空間(geospatial) 索引半徑查詢。 Redis 內置了 復制(replication),LUA腳本(Lua scripting), LRU驅動事件(LRU eviction),事務(transactions) 和不同級別的 磁盤持久化(persistence),并通過 Redis哨兵(Sentinel)和自動 分區(Cluster)提供高可用性(high availability)
內存管理機制
Redis 數據全部存在內存,定期寫入磁盤,當內存不夠時,可以選擇指定的 LRU 算法刪除數據。
MongoDB 數據存在內存,由 linux系統 mmap 實現,當內存不夠時,只將熱點數據放入內存,其他數據存在磁盤。
持久化方式:
mongodb的所有數據實際上是存放在硬盤的,所有要操作的數據通過mmap的方式映射到內存某個區域內。
然后,mongodb就在這塊區域里面進行數據修改,避免了零碎的硬盤操作。
至于mmap上的內容flush到硬盤就是操作系統的事情了,所以,如果,mongodb在內存中修改了數據后,mmap數據flush到硬盤之前,系統宕機了,數據就會丟失。
上述內容就是mongodb與redis的區別,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。