> 백엔드 개발 > PHP 튜토리얼 > 웹 사이트 액세스 속도를 향상시키기 위한 PHP 정적 캐싱 구현 코드

웹 사이트 액세스 속도를 향상시키기 위한 PHP 정적 캐싱 구현 코드

WBOY
풀어 주다: 2016-07-25 08:59:59
원래의
1303명이 탐색했습니다.
写了一个使用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);
}
?>
로그인 후 복사


원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿