PHP 动态网站变 静态缓存 加快网站访问速度

有些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.清空缓存 参考http://www.oschina.net/code/snippet_202258_7018 

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

 

<?php

/*www.diyphp.net

*www.php100.com

*/

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);

}

?>

时间: 2024-10-10 15:37:46

PHP 动态网站变 静态缓存 加快网站访问速度的相关文章

实例:实现动态网页的静态缓存

源动态网页 <title>实例:实现动态网页的静态缓存</title>    <h3>实例:实现动态网页的静态缓存</h3>    <p>    <chtml>    <for end=0 start=20>        <b>@{int:@{for:getSuffix}+1}-</b>        <forendforendforendforend=@{for:getSuffix}>

使用Nginx反向代理和proxy_cache缓存搭建CDN服务器加快Web访问速度

碰到问题:移动用户访问web服务器www.osyunwei.com很慢解决办法:1.在移动机房放置一台nginx反向代理服务器2.通过域名DNS智能解析,所有移动用户访问www.osyunwei.com时解析到nginx反向代理服务器3.nginx反向代理服务器与web服务器之间采用专线连接系统运维  www.osyunwei.com  温馨提醒:qihang01原创内容版权所有,转载请注明出处及原文链接说明:1.web服务器线路:电信IP:192.168.21.129域名:www.osyunw

技术干货:使用静态缓存提升网站性能的五种方法!

本文作者: 乔锐杰 现担任上海驻云信息科技有限公司运维总监/架构师.曾任职过黑客讲师.java软件工程师/网站架构师.高级运维.阿里云架构师等职位.维护过上千台服务器,主导过众安保险.新华社等千万级上云架构.在云端运维.分布式集群架构等方面有着丰富的经验. 以下正文 上次写了一篇数据库缓存,由于快餐式的风格,遭到了广大读友的吐槽.上篇风格有点 " 虚 ",我本身是一个技术控,偏向经验/干货的分享,本文主要描述静态缓存方面的一些心得及分享.作为系列二,有所不足之处,依旧希望大家踊跃&qu

动态网页变静态:JSP生成静态HTML技术

js|动态|静态|网页 下面的一段代码是,使用jsp生成静态html <%@ page contentType="text/html;charset=GBK"%><%@page import="java.util.*"%><%@page import="java.io.*" %><% //在这里如果写成"WEB-INF\templates\template.htm"程序会报错 Stri

动态网页变静态:ASP.NET生成静态HTML页

asp.net|动态|静态|网页 环境:Microsoft .NET Framework SDK v1.1OS:Windows Server 2003 中文版ASP.Net生成静态HTML页在Asp中实现的生成静态页用到的FileSystemObject对象!在.Net中涉及此类操作的是System.IO Code: //生成HTML页public static bool WriteFile(string strText,string strContent,string strAuthor){s

加快网页访问速度:更新CSS缓存怎么处理

文章简介:HTML中css和js链接中的版本号. 背景 在搜索引擎中搜索关键字.htaccess 缓存,你可以搜索到很多关于设置网站文件缓存的教程,通过设置可以将css.js等不太经常更新的文件缓存在浏览器端,这样访客每次访问你的网站的时候,浏览器就可以从浏览器的缓存中获取css.js等,而不必从你的服务器读取,这样在一定程度上加快了网站的打开速度,又可以节约一下你的服务器流量. 问题 现在问题来了,.htaccess设置的css.js缓存都有一个过期时间,如果在访客的浏览器中已经缓存了css.

动态网站与静态网站几个明显的不同

动态网站与静态网站的区别 程序是否在服务器端运行,是重要标志.在服务器端运行的程序.网页.组件,属于动态网页,它们会随不同客户.不同时间,返回不同的网页,例如ASP.PHP.JSP.CGI等.运行于客户端的程序.网页.插件.组件,属于静态网页,例如html页.Flash.JavaScript.VBScript等等,它们是永远不变的. 静态网页和动态网页各有特点,网站采用动态网页还是静态网页主要取决于网站的功能需求和网站内容的多少,如果网站功能比较简单,内容更新量不是很大,采用纯静态网页的方式会更

seo优化之url的静态化对网站排名分析

seo搜索引擎在发展初期的时候一般不太愿意爬行和收录动态url 主要原因是因为陷入无限循环或收录大量重复内容,造成资源极大的浪费. 什么是动态路径 动态路径其实就是路径中包含问号,井号等特殊符号的路径,简单理解就是路径包含出来数字.字母以外的路径都是动态路径. 为什么要将网站url静态化 我们网站的url静态化是网站优化的的常见问题,网站路径的静态能能够帮助我们的网站更利于蜘蛛的爬行和抓取;同时url的静态化有助于提高用户体验,过长的url不利于用户的传播,url过长不利用户的记忆.动态的url

seo-网站当中动态页面和静态页面有何区别

问题描述 网站当中动态页面和静态页面有何区别 网站当中动态页面和静态页面有何区别 为什么说静态页面seo比较友好 解决方案 现在来说静态和动态没多大区别了,搜索引擎会处理.之前的是因为参数不好处理所以对seo有影响.做静态话服务器压力小点 解决方案二: 大网站都是伪静态,把动态网页转换为静态的,这样能减轻服务器的访问压力. 解决方案三: 可交互的页面称为动态页面,你发送一个请求,页面响应你.友好值得是让用户用起来舒服. 解决方案四: 动态的话的话,数据会一直变化. 对seo 而言,静态对seo