php 缓存 静态页面,PHP使用缓存生成静态页面

http://www.cnblogs.com/lh460795/archive/2013/04/06/3003105.html

在apache / bin/ab.exe  可以做压力测试,该工具可以模拟多人,并发访问某个页面.

基本的用法

ab.exe –n 10000 –c 10

-n 表示请求多少次

-c 表示多少人

如果要测试php自己的缓存机制, 需要做配置.

php.ini 文件

display_errors=On

output_buffering=Off

error_reproting= 设置错误级别

看一段代码,使用缓存时,在发送文件头之前可以显示文字.

echo“yyy”;

header(“content-type:text/htm;charset=utf-8”);

echo“hello”;

?>

PHP缓存控制的几个函数:

67d0865f17d9be527254bf8a8ff6c5b4.gif

1 //PHP缓存控制的几个函数:

2 //开启缓存 [通过php.ini,也可以在页面 ob_start()]

3 ob_start();

4 echo "yyy";

5 header("content-type:text/htm;charset=utf-8");

6 echo "hello";

7 //ob_clean函数可以清空 outputbuffer的内容.

8 //ob_clean();

9 //ob_end_clean是关闭ob缓存,同时清空.

10 //ob_clean();

11 //ob_end_flush() 函数是 把ob缓存的内存输出,并关闭ob

12 //ob_end_flush();

13 //ob_end_flush() 函数是 把ob缓存的内存输出,

14 //ob_flush()函数是输出ob内容,并清空,但不关闭.

15 ob_flush();

16

17 echo "kkk";//=>ob缓存.

18

19 //header("content-type:text/htm;charset=utf-8");

20

21 //ob_get_contents() 可以获取output_buffering的内容.

22 //$contents=ob_get_contents();

23

24 //file_put_contents("d:/log.text",$contents);

67d0865f17d9be527254bf8a8ff6c5b4.gif

下面来看一个实例,用缓存技术,"假如保存的缓存文件未超过30秒,则直接取出缓存文件":

67d0865f17d9be527254bf8a8ff6c5b4.gif

1 <?php

2 $id=$_GET['id'];

3 $filename="static_id_".$id.".html";

4 $status=filemtime($filename)+30>time();//判断文件创建及修改时间距当前时间是否超过30秒

5 if(file_exists($filename)&&$status){

6 $str=file_get_contents($filename);

7 echo $str;

8 }else{

9 require_once "SqlHelper.class.php";

10 $sqlHelper=new Sqlhelper();

11 $arr=$sqlHelper->execute_dql2("SELECT * FROM news1 WHERE id=$id");

12 if(empty($arr)){

13 echo "数据为空";

14 }else{

15 /***缓存开始***/

16 ob_start();//下面的内容将存到缓存区中,显示的内容都将存到缓存区

17 echo $arr[0]['tile'];

18 echo "
";

19 echo $arr[0]['content'];

20 $content= ob_get_contents();//从缓存中获取内容

21 ob_end_clean();//关闭缓存并清空

22 /***缓存结束***/

23 file_put_contents($filename, $content);

24 echo $content;

25 }

26 }

27

28

29 ?>

67d0865f17d9be527254bf8a8ff6c5b4.gif

接上篇,php生成静态页面,加上页面时间缓存

<?php require_once(dirname(__FILE__).'/include/config.inc.php'); ?> <?php $dosql->Execut ...

浅谈php生成静态页面

一.引 言 在速度上,静态页面要比动态页面的比方php快很多,这是毫无疑问的,但是由于静态页面的灵活性较差,如果不借助数据库或其他的设备保存相关信息的话,整体的管理上比较繁琐,比方修改编辑.比方阅读权 ...

&period;net 生成 静态页面

.net 生成 静态页面

比较详细PHP生成静态页面教程

一,PHP脚本与动态页面. PHP脚本是一种服务器端脚本程序,可通过嵌入等方法与HTML文件混合, 也可以类,函数封装等形式,以模板的方式对用户请求进行处理.无论以何种方式,它的基本原理是这样的.由客 ...

PHP生成静态页面的方法

在PHP网站开发中为了网站推广和SEO等需要,需要对网站进行全站或局部静态化处理,PHP生成静态HTML页面有多种方法,比如利用PHP模板.缓存 等实现页面静态化,今天就以PHP实例教程形 ...

PHP代码为什么不能直接保存HTML文件——&amp&semi;gt&semi;PHP生成静态页面教程

1.server会依据文件的后缀名去进行解析,假设是HTML文件则server不会进行语法解析.而是直接输出到浏览器. 2.假设一个页面中所有都是HTML代码而没有须要解析的PHP语法,则没有必要保存 ...

&lbrack;dedecms&rsqb;隐藏栏目不生成静态页面

重点文件在:/data/cache/inc_catalog_base.inc.php文件,里面存放的是栏目ID 先找到 /dede/sys_cache_up.php(后台更新缓存的地方),找到里面的U ...

学习MVC之租房网站(十二)-缓存和静态页面

在上一篇学习了Quartz的使用.发邮件,并将通过UEditor上传的图片保存到云存储.在项目的最后,再学习优化网站性能的一些技术:缓存和 ...

PHP代码为什么不能直接保存HTML文件——&gt&semi;PHP生成静态页面教程

1.服务器会根据文件的后缀名去进行解析,如果是HTML文件则服务器不会进行语法解析,而是直接输出到浏览器. 2.如果一个页面中全部都是HTML代码而没有需要解析的PHP语法,则没有必要保存为PHP文件 ...

随机推荐

NOI 2001 食物链&lpar;eat&rpar;

1074 食物链 2001年NOI全国竞赛  时间限制: 3 s  空间限制: 64000 KB  题目等级 : 钻石 Diamond 题解  查看运行结果     题目描述 Description ...

【BestCoder】【Round&num;29】

T1 啊……a^b 与 c^d比较大小,我们可以两边取对数,转化成 log(a^b)=b*log(a) 和d*log(c) 这样就能直接算了……然后稍微搞一下精度什么的就A了=.= //BC #29 ...

用include()和ob&lowbar;get&lowbar;contents&lpar; &rpar;方法 生成静态文件

1. 生成静态文件可以在打开缓冲区的前提下,用include()方法去包含要执行的动态文件,这样该动态文件就会在缓冲区中执行,执行完毕后的静态HTML代码就保存在缓冲区中,然后用ob_get_cont ...

一步一步学习SignalR进行实时通信&lowbar;4&lowbar;Hub

原文:一步一步学习SignalR进行实时通信_4_Hub 一步一步学习SignalR进行实时通信\_4_Hub SignalR 一步一步学习SignalR进行实时通信_4_Hub 前言 创建Hub 配 ...

Vxworks下的SATA提速

1.       ATA接口的三种数据传输方式 (1)PIO(Programmable Input-Output)传输,可以分为PIO寄存器传输和PIO数据传输.PIO寄存器传输主要用于对ATA设备中 ...

ViewGroup事件分发机制解析

最近在看View的事件分发机制,感觉比复杂的地方就是ViewGrop的dispatchTouchEvent函数,便对照着源码研究了一下.故名思意这个函数起到的作用就是分发事件,在具体分析之前还要说明几 ...

css3波纹特效、H5实现动态波浪

css3实现动态波纹特效,由于css3里面有过渡和动画效果,现在利用css3实现动态波浪效果就很简单了,直接使用transform来实现就ok, 使得translateX 产生偏移就可以不断实现循环动 ...

Excel vba:批量生成超链接,添加边框,移动sheet等

Excel vba 操作 批量生成sheet目录并添加超链接 Sub Add_Sheets_Link() 'Worksheets(5)为清单目录页 '在sheet页上生成sheet页名字并超链接 To ...

SQL开窗函数

[SQL]四种排序开窗函数   一 .简单了解什么是开窗函数 什么是开窗函数,开窗函数有什么作用,特征是什么? 所谓开窗函数就是定义一个行为列,简单讲,就是在你查询的结果上,直接多出一列值(可以是聚合 ...

CentOS 系统时间与硬件时间

date 系统时间查看 date -s 'YYYYMMDD HHMMSS' 设置系统时间 hwclock 硬件时间查看 hwclock -w 将系统时间同步到硬件时间 cp /usr/share/zo ...

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值