在线客服
扫描二维码
下载博学谷APP
扫描二维码
关注博学谷微信公众号
Redis和MongoDB优缺点对比,MongoDB和Redis都是NoSQL采用结构型数据存储。二者在使用场景中,存在一定的区别,这也主要由于二者在内存映射的处理过程,持久化的处理方法不同。MongoDB建议集群部署,更多的考虑到集群方案,Redis更偏重于进程顺序写入,虽然支持集群,也仅限于主-从模式。

一、Redis优点:
1、读写性能优异支持数据持久化,
支持AOF和RDB两种持久化方式支持主从复制,
主机会自动将数据同步到从机,
可以进行读写分离。
数据结构丰富:
支持string、hash、set、sortedset、list等数据结构。
二、Redis缺点:
Redis不具备自动容错和恢复功能,主机从机的宕机都会导致前端部分读写请求失败,需要等待机器重启或者手动切换前端的IP才能恢复。主机宕机,宕机前有部分数据未能及时同步到从机,切换IP后还会引入数据不一致的问题,降低了系统的可用性。
Redis的主从复制采用全量复制,复制过程中主机会fork出一个子进程对内存做一份快照,并将子进程的内存快照保存为文件发送给从机,这一过程需要确保主机有足够多的空余内存。
若快照文件较大,对集群的服务能力会产生较大的影响,而且复制过程是在从机新加入集群或者从机和主机网络断开重连时都会进行,也就是网络波动都会造成主机和从机间的一次全量的数据复制,这对实际的系统运营造成了不小的麻烦。
Redis较难支持在线扩容,在集群容量达到上限时在线扩容会变得很复杂。为避免这一问题,运维人员在系统上线时必须确保有足够的空间,这对资源造成了很大的浪费。
三、MongoDB优点:
a)弱一致性(最终一致),更能保证用户的访问速度
b)文档结构的存储方式,能够更便捷的获取数
c)内置GridFS,高效存储二进制大对象(比如照片和视频
d)支持复制集、主备、互为主备、自动分片等特性
e)动态查询
f)全索引支持
g)扩展到内部对象和内嵌数组
四、Redis缺点:
a)不支持事务
b)MongoDB占用空间过大
c)维护工具不够成熟
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
Python开发中字典和 json的区别
Python开发中字典和 json的区别:字典是一种数据结构,json是一种数据的表现形式,字典的 key 值只 要是能 hash 的就行,json 的必须是字符串。
11852
2019-06-27 14:09:52
Python开发的内存管理机制及调优手段?
Python 的内存管理机制及调优手段?Python内存管理机制:引用计数、垃圾回收、内存池。垃圾回收 :引用计数、标记清除、分代回收。引用计数进行高效的内存管理手段。调优手段:手动垃圾回收、调高垃圾回收阈值、避免循环引用。
7875
2019-06-28 14:59:42
七大Python技巧帮助你提升工作效率
本文将介绍七大Python技巧帮助大家提升工作效率,它们分别是整理字符串输入,控制可以/不可以导入什么,用「__slots__」节省内存,迭代器切片,实现比较运算符的简单方法,跳过可迭代对象的开头,只包含关键字参数的函数等等。大家要是能够学会这七大Python技巧,就能极大的提高自己的Python技能,现在让我们一起来看看吧!
8415
2019-11-12 15:05:23
Python框架Django项目实战教程
众所周知,Django框架是目前Python编程语言的主流Web框架,为什么这么说呢?这都源于Django框架自身无可比拟的优势,像是开发敏捷、配置简单、功能完善等等。Python开发者可以利用Django框架快速搭建出一个功能完整的网站,因此学习Django框架十分有必要。今天我将向大家推荐一个免费学习Python框架Django的项目实战教程,下面是教程详细内容的介绍。
7878
2020-01-08 15:51:45
字符串拼接"+" 运算符怎么使用?起什么作用?
字符串拼接"+" 运算符怎么使用?起什么作用?使用加号运算符连接字符串最简便的方法。利用+直接连接两个字符串常量,虚拟机会直接把这两个字符串连接起来看成一个字符串。
5433
2021-12-29 11:03:43
