帝国CMS模板大全
www.admin99.cn
www.92cms.cn 帝国CMS模板下载站!,情怀,养站,二次开发!源码需求比较大的一站式会员下载,价更省!!!

php中用缓存与不用缓存性能测试 - php高级应用

php中用缓存与不用缓存性能测试

在未看到这篇文章之前我们一般不会对于缓存这么看重,经过测试之后我们发现使用文件缓存比直接使用数据库要快几倍,下面测试是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 )); 
} //开源代码phpfensi.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.phpfensi.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.phpfensi.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倍,但是不同缓存由于数据不是特别庞大,几乎没有什么差别.

赞(0)
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《php中用缓存与不用缓存性能测试 - php高级应用》
文章链接:https://www.admin99.cn/7015
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。
QQ站长交流群:953950264

登录

找回密码

注册