码迷,mamicode.com
首页 > 其他好文 > 详细

不使用缓存和不同缓存下程序的效率测试

时间:2014-10-08 12:43:45      阅读:210      评论:0      收藏:0      [点我收藏+]

标签:blog   使用   ar   for   文件   数据   sp   div   art   

在Thinkphp项目中测试各种环境下的程序执行时间
不使用缓存:

<?php
header("content-type:text/html;charset=utf-8");
       
$starttime=caltime();//开始时间    

$articles=array();

//循环取出500条文章信息
for($i=0;$i<100;$i++){
   $sql="select a.*,c.* from blog_article as a,blog_category as c where a.reid=c.id limit 0,5";
   $articles=array_merge($articles,M(‘article‘)->query($sql));
}

$overtime=caltime();//结束时间

echo ‘不使用缓存条件下程序执行时间是:‘.($overtime-$starttime).‘秒‘;

?>

结果:不使用缓存条件下程序执行时间是:0.0600001811981秒

文件缓存:
<?php
header("content-type:text/html;charset=utf-8");

$starttime=caltime();//开始时间

$articles=S(‘articles‘);
if(!$articles){
   $articles=array();
   //循环取出500条文章信息
   for($i=0;$i<100;$i++){
       $sql="select a.*,c.* from blog_article as a,blog_category as c where a.reid=c.id limit 0,5";
       $articles=array_merge($articles,M(‘article‘)->query($sql));
   }
   S(‘articles‘,$articles,60);
}

$overtime=caltime();//结束时间

echo ‘使用文件缓存条件下程序执行时间是:‘.($overtime-$starttime).‘秒‘;
?>

结果:使用文件缓存条件下程序执行时间是:0.00999999046326秒

<?php
header("content-type:text/html;charset=utf-8");
       
$starttime=caltime();//开始时间

$mem=new Memcache();
if(!$mem->connect(‘127.0.0.1‘,11211)){
   echo ‘连接失败‘;
}

$articles=$mem->get(‘articles‘);

if(!$articles){
   $articles=array();
   //循环取出500条文章信息
   for($i=0;$i<100;$i++){
       $sql="select a.*,c.* from blog_article as a,blog_category as c where a.reid=c.id limit 0,5";
       $articles=array_merge($articles,M(‘article‘)->query($sql));
   }
   $mem->set(‘articles‘,$articles,MEMCACHE_COMPRESSED,60);
}

$overtime=caltime();//结束时间

echo ‘使用memcache缓存条件下程序执行时间是:‘.($overtime-$starttime).‘秒‘;
?>

结果:使用memcache缓存条件下程序执行时间是:0.00999999046326秒

<?php
header("content-type:text/html;charset=utf-8");
       
$starttime=caltime();//开始时间

$redis=new Redis();
$redis->connect(‘127.0.0.1‘,‘6379‘);

if(!$redis){
   echo ‘连接失败‘;
}

$articles=$redis->get(‘articles‘);

if(!$articles){
   $articles=array();
   //循环取出500条文章信息
   for($i=0;$i<100;$i++){
       $sql="select a.*,c.* from blog_article as a,blog_category as c where a.reid=c.id limit 0,5";
       $articles=array_merge($articles,M(‘article‘)->query($sql));
   }
   $redis->setex(‘articles‘,60,$articles);
}

$overtime=caltime();//结束时间

echo ‘使用redis缓存条件下程序执行时间是:‘.($overtime-$starttime).‘秒‘;

?>

结果:使用redis缓存条件下程序执行时间是:0.00999999046326秒

可见使用缓存的条件下,程序的执行速度比不使用缓存的时候快了6倍,

但是不同缓存由于数据不是特别庞大,几乎没有什么差别

不使用缓存和不同缓存下程序的效率测试

标签:blog   使用   ar   for   文件   数据   sp   div   art   

原文地址:http://www.cnblogs.com/sheevy/p/4010647.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!