在线客服
扫描二维码
下载博学谷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主要用来做什么?Python开发简单吗?
Python技术可做web开发、Python技术可做数据分析、Python技术可做人工智能、将Python用于机器学习,流行的Python机器学习库和框架,其中最流行的两个是scikit-learn和TensorFlow。
9024
2019-06-11 15:19:29
Python开发中类方法、类实例方法、静态方法的区别和作用
Python开发中类方法、类实例方法、静态方法的区别和作用:类方法是类对象的方法;类实例方法是类实例化对象的方法;态方法是一个任意函数,在其上方使用“@staticmethod”进行装饰。
11066
2019-06-28 14:42:21
新手小白必看 Python爬虫学习路线全面指导
爬虫是大家公认的入门Python最好的方式,没有之一。虽然Python有很多应用的方向,但爬虫对于新手小白而言更友好,原理也更简单,几行代码就能实现基本的爬虫,零基础也能快速入门,让新手小白体会更大的成就感。因此小编整理了新手小白必看的Python爬虫学习路线全面指导,希望可以帮到大家。
8919
2019-12-05 14:17:14
为什么Python现在这么火?
Python可以说是目前最火的网红编程语言,虽然它在近几年在逐渐流行起来,但其实它已经发展了近三十年。那么,为什么Python现在这么火呢?一方面人工智能和大数据的崛起带红了Python,另一方面无论是软件开发者还是非编程工作者都发现了在当下这个时代掌握一门编程语言的必要性。而Python简洁的语法,让它备受学习者的青睐!
5679
2020-05-08 11:08:09
常见的Python编程开发工具有哪些?
工欲善其事必先利其器,有一个好的开发工具可以大大的提高编程开发的效率,经常用到的Python编程开发工具有PTVS、集成开发环境 Eclipse、PyCharm、IPython、Eric5、PythonWin等。
3591
2021-05-28 13:57:25