博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MongoDB与Redis的比较
阅读量:6368 次
发布时间:2019-06-23

本文共 973 字,大约阅读时间需要 3 分钟。

 

 

  MongoDB和Redis都是NoSQL,采用结构型数据存储。二者在使用场景中,存在一定的区别,这也主要由于二者在内存映射的处理过程,持久化的处理方法不同。

   MongoDB建议集群部署,更多的考虑到集群方案,Redis更偏重于进程顺序写入,虽然支持集群,也仅限于主-从模式。

 

比较指标 MongoDB(v2.4.9) Redis(v2.4.17) 比较说明
实现语言 c++ c/c++ -
协议 BSON,自定义二进制 类telnet -
性能 依赖内存,TPS较高 依赖内存,TPS非常高 Redis优于MongoDB
可操作性 丰富的数据表达,索引;最类似于关系型数据库,支持丰富的查询语句 数据丰富,较少的IO MongoDB优于Redis
内存及存储 适合大数据量存储,依赖系统虚拟内存,采用镜像文件存储;内存占用率比较高,官方建议独立部署在64位系统 Redis2.0后支持虚拟内存特性(VM) 突破物理内存限制;数据可以设置时效性,类似于memcache 不同的应用场景,各有千秋
可用性 支持master-slave,replicatset(内部采用paxos选举算法,自动故障恢复),auto sharding机制,对客户端屏蔽了故障转移和切片机制 依赖客户端来实现分布式读写;主从复制时,每次从节点重新连接主节点都要依赖整个快照,无增量复制;不支持auto sharding,需要依赖程序设定一致性hash机制 MongoDB优于Redis;单点问题上,MongoDB应用简单,相对用户透明,Redis比较复杂,需要客户端主动解决.(MongoDB一般使用replicasets和sharding相结合,replicasets侧重高可用性以及高可靠,sharding侧重性能,水平扩展)
可靠性 从1.8版本后,采用binlog方式(类似Mysql) 支持持久化 依赖快照进行持久化;AOF增强可靠性;增强性的同时,影响访问性能

 

一致性 不支持事务,靠客户端保证 支持事务,比较脆,仅能保证事务中的操作按顺序执行 Redis优于MongoDB
数据分析 内置数据分析功能(mapreduce) 不支持 MongoDB优于Redis
应用场景 海量数据的访问效率提升 较小数据量的性能和运算 MongoDB优于Redis

 

转载地址:http://roema.baihongyu.com/

你可能感兴趣的文章
语义化版本控制模块-Semver
查看>>
UML 剖析(2) —— 类图关联和时序图
查看>>
阿里云上到底能运行SAP哪些产品?
查看>>
对不起!冷到你!
查看>>
js 两种常用的类型
查看>>
iOS 用RunTime重写KVO<附Demo>
查看>>
Java Socket 之 TCP Socket
查看>>
作为过来人,我想告诉准程序员的那些事
查看>>
jmeter压力测试,案例实讲
查看>>
CSS盒模型
查看>>
ES6学习笔记之let和const
查看>>
源码的魅力 - HashMap 的工作原理
查看>>
使用travis-ci自动部署Hexo到github和coding
查看>>
一个完整小巧的Redux全家桶项目
查看>>
at()函数改变图像的对比度和亮度(openCV)(4)
查看>>
javascript数据类型判断方法
查看>>
sublime插件问题
查看>>
mysql中的max_allowed_packet参数
查看>>
《进击的虫师》爬取豆瓣电影海报(Top250)
查看>>
Klog - 利用Kotlin的类扩展,为你的log输出带来无限遐想
查看>>