redis是一個開源的使用ANSI?C語言編寫、支持網絡、可基于內存亦可持久化的日志型、Key-Value數據庫,并提供多種語言的API。
redis是一個key-value存儲系統。和Memcached類似,它支持存儲的value類型相對更多,包括string(字符串)、list(鏈表)、set(集合)、zset(sorted set –有序集合)和hash(哈希類型)。(推薦學習:Redis視頻教程)
這些數據類型都支持push/pop、add/remove及取交集并集和差集及更豐富的操作,而且這些操作都是原子性的。在此基礎上,redis支持各種不同方式的排序。與memcached一樣,為了保證效率,數據都是緩存在內存中。區別的是redis會周期性的把更新的數據寫入磁盤或者把修改操作寫入追加的記錄文件,并且在此基礎上實現了master-slave(主從)同步。
mongoDB?
mongoDB?是一種文檔性的數據庫。先解釋一下文檔的數據庫,即可以存放xml、json、bson類型系那個的數據。
這些數據具備自述性(self-describing),呈現分層的樹狀數據結構。redis可以用hash存放簡單關系型數據。
mongoDB?存放json格式數據。
適合場景:事件記錄、內容管理或者博客平臺,比如評論系統。
區別
內存空間的大小和數據量的大小
redis在2.0版本后增加了自己的VM特性,突破物理內存的限制;可以對key value設置過期時間(類似memcache)
mongoDB適合大數據量的存儲,依賴操作系統VM做內存管理,吃內存也比較厲害,服務不要和別的服務在一起
數據一致性(事務支持)
redis事務支持比較弱,只能保證事務中的每個操作連續執行
mongoDB不支持事務
應用場景
redis:數據量較小的更性能操作和運算上
MongoDB:主要解決海量數據的訪問效率問題
更多Redis相關技術文章,請訪問Redis視頻教程欄目進行學習!