在线客服
扫描二维码
下载博学谷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开发中给定两个列表怎么找出他们相同元素和不同元素?相同元素:print(set1&set2);不同元素:print(set1^set2)
12375
2019-06-28 14:18:46
使用Python开发游戏可以吗?
用Python开发游戏完全没有问题,游戏里面要用到一些全局变量、加载资源、创建开始界面、开始游戏,舞台层鼠标点击事件的监听器是startGame函数,也就是我们点击开始界面就开始游戏。
7584
2019-07-09 17:50:31
为什么人工智能和Python要一起学?两者有何联系?
为什么人工智能和Python要一起学?两者有何联系?相信现在只要提到人工智能,就难免会带上Python,可以说Python就是人工智能的首选编程语言,由此人工智能已经和Python已经紧密联系在一起了。本文就和大家说说Python和人工智能不可分割的关系。
5677
2019-09-19 11:35:46
如何提高github下载速度到2MB/s?
常用方法通过代理连接是,但实际中并不稳定。因为网络连接,在国内从github上面下载代码的速度峰值通常都是20kB/s。对于那些小项目够用,而对于大的并带有很多子模块的项目来说耗时较久。
4465
2020-05-28 11:27:32
JavaScript变量和数据类型有哪几种?
JavaScript变量和数据类型有哪几种?JavaScript 是一种弱类型语言,也就是说不需要指定变量的类型,js中有六种数据类型,包括五种基本数据类型和一种复杂数据类型(object)
3427
2021-12-27 14:10:21
热门文章
- 前端是什么
- 前端开发的工作职责
- 前端开发需要会什么?先掌握这三大核心关键技术
- 前端开发的工作方向有哪些?
- 简历加分-4步写出HR想要的简历
- 程序员如何突击面试?两大招带你拿下面试官
- 程序员面试技巧
- 架构师的厉害之处竟然是这……
- 架构师书籍推荐
- 懂了这些,才能成为架构师 查看更多
扫描二维码,了解更多信息
