关于redis、memcache、mongoDB的对比

上传人:碎****木 文档编号:220861431 上传时间:2021-12-09 格式:DOCX 页数:3 大小:25.48KB
返回 下载 相关 举报
关于redis、memcache、mongoDB的对比_第1页
第1页 / 共3页
关于redis、memcache、mongoDB的对比_第2页
第2页 / 共3页
关于redis、memcache、mongoDB的对比_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

《关于redis、memcache、mongoDB的对比》由会员分享,可在线阅读,更多相关《关于redis、memcache、mongoDB的对比(3页珍藏版)》请在金锄头文库上搜索。

1、从以下几个维度,对 redis、memcache、mongoDB 做了比照。1、性能都比较高,性能对我们来说应当都不是瓶颈。总体来讲,TPS 方面 redis 和 memcache 差不多,要大于 mongodb。2、操作的便利性memcache 数据构造单一。key-valueredis 丰富一些,数据操作方面,redis 更好一些,较少的网络 IO 次数,同时还供给 list, set,hash 等数据构造的存储。mongodb 支持丰富的数据表达,索引,最类似关系型数据库,支持的查询语言格外丰富。3、内存空间的大小和数据量的大小redis 在 2.0 版本后增加了自己的 VM 特性,突破

2、物理内存的限制;可以对 key value 设置过期时间类似 memcachememcache 可以修改最大可用内存,承受 LRU 算法。Memcached 代理软件 magent,比如建立10 台 4G 的 Memcache 集群, 就相当于有了 40G 。 magent -s 10.1.2.1 -s10.1.2.2:11211 -b10.1.2.3:14000 mongoDB 适合大数据量的存储,依靠操作系统 VM 做内存治理,吃内存也比较厉害,效劳不要和别的效劳在一起。4、可用性单点问题对于单点问题,redis,依靠客户端来实现分布式读写;主从复制时,每次从节点重新连接主节点都要依靠整个

3、快照,无增量复制,因性能和效率问题,所以单点问题比较简单;不支持自动 sharding,需要依靠程序设定全都 hash 机制。一种替代方案是,不用 redis 本身的复制机制,承受自己做主动复制多份存储,或者改成增量复制的方式需要自己实现,全都性问题和性能的权衡Memcache 本身没有数据冗余机制,也没必要;对于故障预防,承受依靠成熟的 hash 或者环状的算法,解决单点故障引起的抖动问题。mongoDB 支持 master-slave,replicaset 内部承受 paxos 选举算法,自动 故障恢复,auto sharding 机制,对客户端屏蔽了故障转移和切分机制。5、牢靠性长久化对

4、于数据长久化和数据恢复,redis 支持快照、AOF:依靠快照进展长久化,aof 增加了牢靠性的同时,对性能有所影响memcache 不支持,通常用在做缓存,提升性能;MongoDB 从 1.8 版本开头承受 binlog 方式支持长久化的牢靠性6、数据全都性事务支持Memcache 在并发场景下,用 cas 保证全都性 redis 事务支持比较弱,只能保证事务中的每个操作连续执行mongoDB 不支持事务7、数据分析mongoDB 内置了数据分析的功能(mapreduce),其他不支持8、应用场景 redis:数据量较小的更性能操作和运算上memcache:用于在动态系统中削减数据库负载,提

5、升性能;做缓存,提高性能适合读多写少,对于数据量比较大,可以承受 sharding MongoDB:主要解决海量数据的访问效率问题。表格比较:memcache redis 类型 内存数据库 内存数据库数据类型 在定义 value 时就要固定数据类型 不需要有字符串,链表,集 合和有序集合虚拟内存 不支持 支持过期策略 支持 支持分布式 magent master-slave,一主一从或一主多从存储数据平安 不支持 使用 save 存储到 dump.rdb 中灾难恢复 不支持 append only file(aof)用于数据恢复性能1、类型 memcache 和 redis 都是将数据存放在内

6、存,所以是内存数据库。固然,memcache 也可用于缓存其他东西,例如图片等等。2、 数据类型Memcache 在添加数据时就要指定数据的字节长度,而 redis 不需要。3、 虚拟内存当物理内存用完时,可以将一些很久没用到的 value 交换到磁盘。4、 过期策略memcache 在 set 时就指定,例如 set key1 0 0 8,即永不过期。Redis可以通过例如 expire 设定,例如 expire name 10。5、 分布式设定 memcache 集群,利用 magent 做一主多从;redis 可以做一主多从。都可以一主一从。6、 存储数据平安memcache 断电就断了

7、,数据没了;redis 可以定期 save 到磁盘。7、 灾难恢复memcache 同上,redis 丢了后可以通过 aof 恢复。Memecache 端口 11211 yum -y install memcachedyum -y install php-pecl-memcache/etc/init.d/memcached start memcached -d -p 11211 -u memcached -m 64 -c 1024 -P /var/run/memcached/memcached.pid-d 启动一个守护进程-p 端口-m 安排的内存是 M-c 最大运行并发数-P memcach

8、e 的 pid/0 压缩是否 MEMCACHE_COMPRESSED 30 秒失效时间/delete 5 是 timeout connect(”127.0.0.1”, 11211);$memcache - set(”name”,”yang”,0,30);if(!$memcache-add(”name”,”susan”,0, 30) /echo ”susan is exist”; $memcache - replace(”name”, ”lion”, 0, 300); echo$memcache - get(”name”);/$memcache - delete(”name”, 5); prin

9、tf “statsrn“ | nc 127.0.0.1 11211 telnet localhost 11211 stats quit 退出Redis 的配置文件 端口 6379/etc/redis.conf 启动 Redisredis-server /etc/redis.conf 插入一个值redis-cli set test “phper.yang“ 猎取键值redis-cli get test 关闭 Redisredis-cli shutdown 关闭全部redis-cli -p 6379 shutdown connect(”127.0.0.1”,6379); $redis-set(”test”, ”Hello World”); echo $redis-get(”test”); Mongodbapt-get install mongo mongo 可以进入 shell 命令行pecl install mongo Mongodb 类似 phpmyadmin 操作平台 RockMongo

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 教育/培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号