From: http://blog.51yip.com/cache/1318.html

redis和memcache非常像的,都是key,value的方式,将数据存放内存中。最近在学习redis,在网上看了一些这方面的资料,有三种观点:

1,redis读写内存比memcache快

2,memcache读写内存比redis快

3,memcache读写内存比redis快,但是redis整体性能优于memcache

所以我做了一下测试。关于redis和memcache的安装,请参考

linux redis 安装配置, 以及redis php扩展

linux memcache 安装

1,redis的测试文件

查看复制打印?
  1. <?php
  2. function get_data (){
  3. mysql_connect("localhost", "root", "") or die("Could not connect: " . mysql_error());
  4. mysql_select_db("ugc");
  5. $result = mysql_query("SELECT task_id FROM ugc_tasks");
  6. $return = array();
  7. while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
  8. $return[] = $row;
  9. }
  10. mysql_free_result($result);
  11. return $return;
  12. }
  13. $redis = new redis();
  14. $redis->connect('127.0.0.1', 6379);
  15. if ($redis->exists('test')) {
  16. $value = $redis->get("test");
  17. }else{
  18. $value = get_data();
  19. $redis->set('test',json_encode($value));
  20. }
  21. print_r(json_decode($value));
  22. ?>

2,redis的测试结果

第一次
root@ubuntu:/home/zhangying/download/webbench-1.5# webbench -c 10000 -t 30 http://localhost/php-redis/test_redis.php
Webbench - Simple Web Benchmark 1.5
Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.

Benchmarking: GET http://localhost/php-redis/test_redis.php
10000 clients, running 30 sec.

Speed=48324 pages/min, 40318471 bytes/sec.
Requests: 22599 susceed, 1563 failed.

telnet 127.0.0.1 6379 telnet登录一下,把test对应的值清除掉,保重测试的公平性
del test

第二次
root@ubuntu:/home/zhangying/download/webbench-1.5# webbench -c 10000 -t 30 http://localhost/php-redis/test_redis.php
Webbench - Simple Web Benchmark 1.5
Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.

Benchmarking: GET http://localhost/php-redis/test_redis.php
10000 clients, running 30 sec.

Speed=53570 pages/min, 41217689 bytes/sec.
Requests: 23106 susceed, 3679 failed.

telnet 127.0.0.1 6379
del test

第三次
root@ubuntu:/home/zhangying/download/webbench-1.5# webbench -c 10000 -t 30 http://localhost/php-redis/test_redis.php
Webbench - Simple Web Benchmark 1.5
Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.

Benchmarking: GET http://localhost/php-redis/test_redis.php
10000 clients, running 30 sec.

Speed=49450 pages/min, 39694073 bytes/sec.
Requests: 22301 susceed, 2424 failed.

telnet 127.0.0.1 6379
del test

3,memcache测试文件

查看复制打印?
  1. <?php
  2. function get_data (){
  3. mysql_connect("localhost", "root", "") or die("Could not connect: " . mysql_error());
  4. mysql_select_db("ugc");
  5. $result = mysql_query("SELECT task_id FROM ugc_tasks");
  6. $return = array();
  7. while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
  8. $return[] = $row;
  9. }
  10. mysql_free_result($result);
  11. return $return;
  12. }
  13. $mem = new Memcache;
  14. $mem->connect("127.0.0.1",11211) or die ("Could not connect");
  15. $value = $mem->get('test1');
  16. if (emptyempty($value)) {
  17. $value = json_encode(get_data());
  18. $mem->set('test1',$value,0, 600);
  19. }
  20. print_r(json_decode($value));
  21. ?>

4,memcache测试结果

第一次

root@ubuntu:/home/zhangying/download/webbench-1.5# webbench -c 10000 -t 30 http://localhost/php-redis/test_memcache.php
Webbench - Simple Web Benchmark 1.5
Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.

Benchmarking: GET http://localhost/php-redis/test_memcache.php
10000 clients, running 30 sec.

Speed=61632 pages/min, 52228667 bytes/sec.
Requests: 29205 susceed, 1611 failed.

telnet 127.0.0.1 11211 telnet登录一下,把test1对应的值清除掉,保重测试的公平性
delete test1

第二次

root@ubuntu:/home/zhangying/download/webbench-1.5# webbench -c 10000 -t 30 http://localhost/php-redis/test_memcache.php
Webbench - Simple Web Benchmark 1.5
Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.

Benchmarking: GET http://localhost/php-redis/test_memcache.php
10000 clients, running 30 sec.

Speed=64160 pages/min, 52601449 bytes/sec.
Requests: 29426 susceed, 2654 failed.

telnet 127.0.0.1 11211
delete test1

第三次

root@ubuntu:/home/zhangying/download/webbench-1.5# webbench -c 10000 -t 30 http://localhost/php-redis/test_memcache.php
Webbench - Simple Web Benchmark 1.5
Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.

Benchmarking: GET http://localhost/php-redis/test_memcache.php
10000 clients, running 30 sec.

Speed=65190 pages/min, 52506614 bytes/sec.
Requests: 29348 susceed, 3247 failed.

telnet 127.0.0.1 11211
delete test1

从上面比较结果,可以看出,memcache比redis快的。redis对key,value的管理,更灵活。有很多人把redis归于nosql的范围,细细想,还真是那么一回事。redis还可以把内在中的数据,放到磁盘中,这一点上,redis更像memcachedb。关于使用哪一种,看个人喜好而定了。

redis memcache 性能比较相关推荐

  1. redis memcache 性能比较

    redis和memcache非常像的,都是key,value的方式,将数据存放内存中.最近在学习redis,在网上看了一些这方面的资料,有三种观点: redis读写内存比memcache快 memca ...

  2. Redis 的性能幻想与残酷现实(转)

    2011 年,当初选择 Redis 作为主要的内存数据存储,主要吸引我的是它提供多样的基础数据结构可以很方便的实现业务需求.另一方面又比较担心它的性能是否足以支撑,毕竟当时 Redis 还属于比较新的 ...

  3. redis,memcache,mongodb对比

    这段时间对memcache,redis,mongodb 3种nosql进行了熟悉,简单的总结了下. 1.从3者的性能来看,memcache性能是最好的,redis次之(redis有单进程限制,会碰到c ...

  4. Redis 的性能幻想与残酷现实

    2011 年,当初选择 Redis 作为主要的内存数据存储,主要吸引我的是它提供多样的基础数据结构可以很方便的实现业务需求.另一方面又比较担心它的性能是否足以支撑,毕竟当时 Redis 还属于比较新的 ...

  5. Redis的性能幻想与残酷现实

    2011 年,当初选择 Redis 作为主要的内存数据存储,主要吸引我的是它提供多样的基础数据结构可以很方便的实现业务需求.另一方面又比较担心它的性能是否足以支撑,毕竟当时 Redis 还属于比较新的 ...

  6. redis java 性能_Redis 性能优化

    一.Linux 操作系统 [1]ulimit 与 TCP backlog:1).修改 ulimit:通过 ulimit 修改 open files 参数,redis 建议把 open files 至少 ...

  7. redis 持久化性能_高性能持久消息

    redis 持久化性能 总览 尽管有许多可用于Java的高性能消息传递系统,但大多数都避免引用基准,包括持久消息传递和消息的序列化/反序列化. 这样做有多种原因. 1)您并不总是需要或想要持久消息2) ...

  8. Redis, Memcache 基本使用

    Redis, Memcache Memcache MemCache是一个自由.源码开放.高性能.分布式的内存对象缓存系统,用于动态Web应用以减轻数据库的负载.它通过在内存中缓存数据和对象来减少读取数 ...

  9. Redis学习-性能与优化(五)

    实际开发的场景中,尤其是涉及到高并发的应用,关系型数据库常常无法满足业务需求,这时候从问题出发,尝试用redis这个基于内存的数据库,通常会因为它带来的几十倍甚至上百倍的性能使得问题迎刃而解.虽然满足 ...

最新文章

  1. 用Cocos Studio 2.3.2制作UI界面中控件不再支持运行3d动作特效
  2. 陕西师范大学计算机科学学院公寓楼,陕西师范大学计算机科学学院简介
  3. Docker系列之烹饪披萨(二)
  4. 【C/C++】关键字static
  5. 【bzoj4025】二分图 LCT
  6. 详细讲解css单位px,em和rem的含义以及它们之间的区别
  7. 3 年大厂工作经验面试竟然要我手写 atoi 函数
  8. Ruby语言的优点和缺点
  9. Qt,C++开发炫酷圆形扇形菜单面板
  10. STL(五)之智能指针剖析
  11. 一步步学习SPD2010--第一章节--探索SPD2010(3)--理解SharePoint Designer 2010新功能
  12. 基于Bootstrap的下拉框多选 Bootstrap Multiselect 插件使用
  13. 连续系统与离散系统的时域分析
  14. etcd基本使用与安装
  15. AE学习笔记之地图符号化
  16. 达观数据:文本大数据的机器学习自动分类方法
  17. 为什么Google Home将成为Amazon Echo最可怕的噩梦?
  18. 微信公众号推文发布方法(内含详细步骤)
  19. Lintcode - kth largest element
  20. stm32万年历流程图_STM32 万年历 显示年月日 时分秒 星期

热门文章

  1. 无线路由与无线AP有什么不同
  2. 40种网站设计常用方法
  3. 1743. 从相邻元素对还原数组
  4. leetcode 1600. 皇位继承顺序(dfs)
  5. linux tar cvf_Linux中的Tar命令:Tar CVF和Tar XVF通过示例命令进行了解释
  6. python缓冲区_如何在Python中使用Google的协议缓冲区
  7. python包numpy_NumPy Python科学计算软件包的终极指南
  8. MongoDB教程-使用Node.js从头开始CRUD应用
  9. 捷克 签证_一位捷克开发人员构建了可在您的浏览器中直接运行的语音合成器
  10. SpringDay01