引用自:http://blog.csdn.net/e_wsq/article/details/23551799

最近需要用no-sql数据库来保存大量的数据,插入和查询都比较频繁,相对而言查询更加频繁。是选择Memcached、还是Redis呢?对Memcached与Redis做个相关测试,就知道了。

Memcached与Redis测试对比:

1)  性能方面:

相同的写入和读取数据次数,key为uuid, value为模拟的终端信息约600字节

单线程:

memcached的写入时间要优于redis, 而redis的读取时间优于memcached

20000次写入数据,memcached写入时间约为9000,msredis写入时间约为13000ms

20000次读取数据,memcached读取时间约为7000,msredis读取时间约为6000ms

多线程:

redis在低并发的时候比memcached好

60个并发

redis每个线程写入1000次数据,执行总用时约为5000ms;Memcached每个线程写入1000次数据,执行总用时约为10000ms

redis每个线程读取1000次数据, 执行总用时约为2000ms ;Memcached每个线程读取1000次数据,执行总用时约为8000ms

2) 内存使用效率:

如果使用简单的key-value存储,Memcached的内存利用率更高。

而如果Redis采用hash结构来做key-value存储,由于其组合式的压缩,其内存利用率会高于Memcached。

这和应用场景和数据特性有关。

Redis当物理内存用完时,可以将一些很久没用到的value 交换到磁盘

memcache 存在内存中,分配的内存满后,会按一定的规则删除一些k/v数据(LRU规则)

3)数据操作

Redis相比Memcached来说,拥有更多的数据结构和并支持更丰富的数据操作,

通常在Memcached 里,你需要将数据拿到客户端来进行类似的修改再set回去。

这大大增加了网络IO的次数和数据体积。在Redis中,这些复杂的操作通常和一般的 GET/SET一样高效。

4)数据持久化和数据同步

Redis支持这两种,会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步,在升级或者重启系统后可以再次加载进行使用, 而memcached都不支持

5)分布式

两者都支持集群 一主多从或者一主一从

总结:两者的性能都比较高,这并不是瓶颈,Redis不仅仅支持简单的k/v类型的数据,同时还提供list,set,hash等数据结构的存储,如果需要缓存能够支持更复杂的结构和操作,那么Redis会是不错的选择。Redis,具备一定的数据库特征,可以将内存中的数据保持在磁盘中,当对数据的重要性比较高时,重启升级系统,Redis可以通过aof恢复部分数据。

根据以上的分析,建议还是使用redis。

redis与memcached比较的更多相关文章

  1. 浅谈redis和memcached的区别

    缓存技术方面说到redis大家必然会联想到memcached,了解它们的人应该都知道以下几点吧 redis与 memcached相比,redis支持key-value数据类型,同事支持list.set ...

  2. Redis 对比 Memcached 并在 CentOS 下进行安装配置

    了解一下 Redis Redis 是一个开源.支持网络.基于内存.键值对的 Key-Value 数据库,使用 ANSI C 编写,并提供多种语言的 API ,它几乎没有上手难度,只需要几分钟我们就能完 ...

  3. Redis和Memcached整体

    Redis和Memcached整体对比 Redis的作者Salvatore Sanfilippo曾经对这两种基于内存的数据存储系统进行过比较,总体来看还是比较客观的,现总结如下: 1)性能对比:由于R ...

  4. redis、memcached、mongoDB 对比与安装

    一.redis.memcached.mongoDB 对比 Memcached 和 Redis都是内存型数据库,数据保存在内存中,通过tcp直接存取,速度快,并发高.Mongodb是文档型的非关系型数据 ...

  5. redis和memcached缓存

    memcached memcache开源的,高性能,高并发分布式内存缓存系统,天生支持集群 memcached下载地址: http://memcached.org/downloads python实现 ...

  6. Redis与Memcached的区别

    传统MySQL+ Memcached架构遇到的问题 实际MySQL是适合进行海量数据存储的,通过Memcached将热点数据加载到cache,加速访问,很多公司都曾经使用过这样的架构,但随着业务数据量 ...

  7. Redis和Memcached的区别详解

    转载于:http://www.itxuexiwang.com/a/shujukujishu/redis/2016/0216/119.html?1455855360 Redis的作者Salvatore ...

  8. Redis和Memcached对比

    Redis和Memcached对比 这两年 Redis火得可以,Redis也常常被当作 Memcached的挑战者被提到桌面上来.关于Redis与Memcached的比较更是比比皆是.然而,Redis ...

  9. Redis和Memcached的区别

    From: https://www.biaodianfu.com/redis-vs-memcached.html Redis的作者Salvatore Sanfilippo曾经对这两种基于内存的数据存储 ...

随机推荐

  1. RobotFramwork + Appium+ Andriod 环境搭建

    RF+Appium+Android环境搭建教程 - 1.RF安装 一.适用操作系统 Win7 旗舰版Sp1 32位操作系统 RF环境搭建,请参考文档<RobotFramwork安装指南> ...

  2. addresslist

    #include<iostream> #include<cstring> #include<cstdio> #include<cctype> #incl ...

  3. 12-factor

    简介 如今,软件通常会作为一种服务来交付,它们被称为网络应用程序,或软件即服务(SaaS).12-Factor 为构建如下的 SaaS 应用提供了方法论: 使用标准化流程自动配置,从而使新的开发者花费 ...

  4. dubbo 转

      http://blog.csdn.net/zhiguozhu/article/details/50517513 背景 随着互联网的发展,网站应用的规模不断扩大,常规的垂直应用架构已无法应对,分布式 ...

  5. 入口点函数的19种消息,AcRxArxApp只处理16种。

    AcRx::AppMsgCode一共有19种消息. 但由IMPLEMENT_ARX_ENTRYPOINT宏实现的App类,只处理了16种消息. 缺: kSuspendMsg = 16,    kIni ...

  6. 中大bbs

    发现个好像很好玩的东东, 中大bbs: luit -encoding gbk telnet bbs.sysu.edu.cn

  7. Apache Httpd + Subversion 搭建HTTP访问的SVN服务器

    最近要搭建一个SVN服务器.简单安装之后,本地访问没有问题,但作为服务器肯定是需要HTTP访问.搜索之后,以下是我按照网上的资料搭建的过程,以备后用和参考.(所有软件安装步骤略,没有特殊的,如果没有特 ...

  8. apache配置Options详解

    http://www.365mini.com/page/apache-options-directive.htm Options指令是Apache配置文件中一个比较常见也比较重要的指令,Options ...

  9. html字符字体转换

  10. ACM好书推荐

    年末感想之(渣渣的我)         仔细想想,搞比赛的日子4年有余了,确实不服老不行了,直到现在平均每天的题量都在3题左右.其实真想说,“渣渣的我”.做的题确实不少了,但是水平还是上不了档次.  ...