Heim  >  Artikel  >  Backend-Entwicklung  >  php静态缓存提升网站访问速度的实现代码

php静态缓存提升网站访问速度的实现代码

WBOY
WBOYOriginal
2016-07-25 08:59:591245Durchsuche
写了一个使用php的静态缓存提升网站访问速度的代码,有需要的朋友,可以参考下。

一、以下代码要求: 1.系统支持php 2.支持file_get_contents file_put_contents [也可以用同样作用的函数替换] 3.最好支持gzcompress

二、使用方法 1.下载下面分享的huncun.php文件 2.在网站根目录建文件夹huancun(或其它) 3.复制huncun.php到huancun目录下 4.在huancun目录下建文件夹cache目录 5.在用网站公共文件头或都生成静态的网页头上 加载本文件 include("/huancun/huancun.php"); 6.清空缓存

三、缺点 1.使用本系统不能实时更新内容 必须清空缓存后才能更新或者是到了设定的缓存时间才会更新 2.第一次访问速度比较慢,因为没有缓存.第二次就是调用缓存文件,那时候就快了 3.缓存文件占磁盘空间,建议服务器或者空间比较大的使用.或者定期删除缓存文件

例子,

<?php
/**
 * 清空缓存代码
 * bbs.it-home.org
*/
if($_GET['phphuancun']!="true"){
define("HC_PATH",dirname(__FILE__)."/cache/");
define("HC_TIME",1);
echo HC_getcache();exit;
}
function HC_getcache($iscache='')
{
$url="http://".$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'];
$cacheurl=strpos($url,"?")?$url."&phphuancun=true":$url."?phphuancun=true";
$cachename=HC_PATH.md5($url).".c";
 
$cachetime=$iscache?time()+1:time()-(HC_TIME * 60*60);
if(file_exists($cachename) && filemtime($cachename)>=$cachetime){
$return=file_get_contents($cachename);$data=function_exists(gzcompress)?@gzuncompress($return):$return;
return unserialize($data);
}else{$return=file_get_contents($cacheurl);HC_writecache($cachename,$return);return $return;}
 
}
function HC_writecache($name,$array)
{
function_exists(gzcompress)?$return =gzcompress(serialize($array)):$return=serialize($array);
@file_put_contents($name,$return);
}
?>


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn