【php缓存技术有哪些】php中用缓存与不用缓存性能测试

时间:2019-05-30  来源:thinkphp  阅读:

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

 代码如下

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秒

文件缓存:

 代码如下

header("content-type:text/html;charset=utf-8");

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

$articles=S("articles");
if(!$articles){
   $articles=array();
   //循环取出500条 www.111cn.net 文章信息
   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秒

 代码如下

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秒

 代码如下

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条www.111cn.net文章信息
   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倍,

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

【php缓存技术有哪些】php中用缓存与不用缓存性能测试

http://m.bbyears.com/jiaocheng/52531.html

推荐访问:
相关阅读 猜你喜欢
本类排行 本类最新