MongoDB 学习(三)Redis 与 MongoDB 的区别
目录
- 一、NoSQL 数据库与关系型数据库的优缺点
- 二、Redis 与 MongoDB 的区别

MongoDB
和 Redis
都是 NoSQL 数据库,采用 结构型数据存储,而非 MySQL、Oracle 等则属于传统的 关系型数据库。
一、NoSQL 数据库与关系型数据库的优缺点
关系型数据库:
- 优点: 以完善的关系代数理论为基础,有严格的标准,支持事务 ACID 四种性质,借助索引机制可以实现高效的查询。
- 缺点: 可扩展性差,无法较好地支持海量数据存储,数据模型过于死板,事务机制影响了系统的整体性能,全文搜索功能较弱。
NoSQL数据库:
- 优点: 数据之间无关系,易扩展。有非常高的读写性能,支持大量数据,性能高。有灵活的数据模型,无须为要存储的数据事先建立字段,随时可以存储自定义的数据格式。
- 缺点: 复杂查询性能不高,一般都不能实现事务的强一致性。
二、Redis 与 MongoDB 的区别
内存管理:
- Redis 数据全部存储在内存,定期写入磁盘,当内存不够时,可以选择指定的 LRU 算法删除数据。
- MongoDB 数据会优先存于内存,当内存不够时,只将热点数据放入内存,其他数据存在磁盘。
需要注意的是:Redis 和 MongoDB 都特别消耗内存,一般不建议将它们和别的服务部署在同一台服务器上。
数据结构:
- Redis 支持的数据结构丰富,包括 Hash、Set、List 等。
- MongoDB 数据结构比较单一,但是支持丰富的数据表达、索引,最类似关系型数据库,支持的查询语言非常丰富。
数据量和性能:
- 当物理内存够用的时候,性能:Redis > MongoDB > MySQL。
- 数据量:MySQL > MongoDB > Redis。
注意:MongoDB 可以存储文件,适合存放大量的小文件,内置了 GirdFS 的分布式文件系统。
可靠性:
- Redis 依赖快照进行持久化;AOF 增强可靠性;但是增强可靠性的同时,影响访问性能。
- MongoDB 从 1.8 版本后,采用 binlog 方式(MySQL同样采用该方式)支持持久化,增加可靠性。
可靠性上 MongoDB 由于 Redis。
整理完毕,完结撒花~🌻
参考地址:
1.NoSQL,浅谈redis与mongoDB的区别,https://zhuanlan.zhihu.com/p/86777551