在线客服
扫描二维码
下载博学谷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 的必须是字符串。
11309
2019-06-27 14:09:52
6个技巧帮你提高Python运行效率
随着国内对人工智能领域发展的大力支持,Python编程语言成为国内使用增长率的最大的编程语言。越来越多的人加入Python的学习行列,企业对Python的使用也越来越普遍。Python能够让你在端时间内通过少量代码,实现大量的操作。这里小编整理了6个Python编程技巧,帮你提高Python的运行效率。
6431
2019-12-05 18:51:03
如何提高github下载速度到2MB/s?
常用方法通过代理连接是,但实际中并不稳定。因为网络连接,在国内从github上面下载代码的速度峰值通常都是20kB/s。对于那些小项目够用,而对于大的并带有很多子模块的项目来说耗时较久。
4970
2020-05-28 11:27:32
常见的Python编程开发工具有哪些?
工欲善其事必先利其器,有一个好的开发工具可以大大的提高编程开发的效率,经常用到的Python编程开发工具有PTVS、集成开发环境 Eclipse、PyCharm、IPython、Eric5、PythonWin等。
3556
2021-05-28 13:57:25
JavaScript变量和数据类型有哪几种?
JavaScript变量和数据类型有哪几种?JavaScript 是一种弱类型语言,也就是说不需要指定变量的类型,js中有六种数据类型,包括五种基本数据类型和一种复杂数据类型(object)
3836
2021-12-27 14:10:21