加入收藏 | 设为首页 | 会员中心 | 我要投稿 汽车网 (https://www.0577qiche.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php中用缓存与没有使用缓存性能测试

发布时间:2023-07-28 13:19:58 所属栏目:PHP教程 来源:
导读:在未看到这篇文章之前我们一般不会对于缓存这么看重,经过测试之后我们发现使用文件缓存比直接使用数据库要快几倍,下面测试是6倍之多,下面一起来看看吧.

在Thinkphp项目中测试各种环境下的程序执行时间,不使用缓存
在未看到这篇文章之前我们一般不会对于缓存这么看重,经过测试之后我们发现使用文件缓存比直接使用数据库要快几倍,下面测试是6倍之多,下面一起来看看吧.

在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)); 
}//开源代码Cuoxin.com 
 
$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条 www.Cuoxin.com 文章信息 
   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条www.Cuoxin.com文章信息 
   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倍,但是不同缓存由于数据不是特别庞大,几乎没有什么差别.

 

(编辑:汽车网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章