文档章节

缓存原理--静态化

PHer
 PHer
发布于 2014/06/17 11:16
字数 378
阅读 160
收藏 2

缓存的分类:

            ①程序缓存

            ②ob缓存

            ③浏览器缓存

如:

<?php
//ob_start();如果PHPini文件中开启了缓冲开关控制
echo str_repeat("&nbsp;",4096),'<br/>';
for ($i=0; $i < 10; $i++) { 
    //开启缓冲开关控制,也可以通过Phpini文件中设置
    echo $i.'<br/>';
    ob_flush();//直接输出缓冲内容,这个内容会发送到浏览器,浏览器也自带有缓冲控制功能
    flush();//设置浏览器不缓存
    sleep(1);

}

如果ini文件中如果设置了开启了缓冲开关,在php文件中ob_start()会关闭缓冲开关

捕捉PHP缓冲内容:

        ob_get_contents(): 获得缓冲区的内容.

$str = <<<HTML
    <h3>这是我在staticpage中获得的缓冲区数据</h3>

HTML;
echo $str;
$imessage=ob_get_contents();
file_put_contents("3.txt",$imessage);


        ob_clean();清空PHP源头的缓冲区内容.
        ob_get_clean();获得PHP缓冲区内容.并且清空缓冲区  

<?php
$str = <<<HTML
    <h3>这是我在staticpage中获得的缓冲区数据</h3>

HTML;
echo $str;
$imessage=ob_get_clean();
file_put_contents("3.txt",$imessage);

  总结:

        ob_start();开启缓冲。

        ob_flush();将PHP缓冲区内容发到Apache,再到浏览器。

        flush; 将浏览器里边的缓冲数据输出。

        ob_clean(); 将缓冲区的内容清除掉。

        ob_get_clean();将缓冲区的内容获得,之后清除掉缓冲区数据信息。

        ob_get_contents();获得PHP缓冲区内容。

        ob_end_flush():刷新缓冲区内容到程序缓存,并且清楚缓冲区内容,关闭ob

        flush:该函数将当前为止程序的所有输出发送到用户的浏览器。

       





© 著作权归作者所有

共有 人打赏支持
PHer
粉丝 4
博文 121
码字总数 38443
作品 0
成都
程序员
私信 提问
php网站静态化

一、静态化 实现静态化的两种方法: 1.利用ob缓存技术进行静态化 2.利用模板替换技术实现静态化 二.伪静态 优点:1.速度快 2.利于seo 3.安全性高 缺点:占磁盘空间,如果过大,对磁盘响应速度...

yang名扬
2014/07/15
0
0
小蚂蚁学习页面静态化(1)——静态化的原理

关于页面php文件执行阶段 语法分析——》编译——》运行 如何优化页面的响应时间 动态页面静态化 优化数据库 使用负载均衡 使用缓存 页面静态化能够解决的问题 1.减少服务器脚本的计算时间 ...

嗜学如命的小蚂蚁
2015/10/09
242
2
php页面静态化

实现静态化的原理 原理:把输出缓冲区的内容,写入到指定文件中中。 用到Php内置的文件操作函数(fileputcontents()) 使用Php缓冲区机制(obstart, obgetcontents, obclean, obgetclean) 触发...

金于虎
2016/12/19
2
0
天猫浏览型应用的CDN静态化架构演变

在天猫双11活动中,商品详情、店铺等浏览型系统,通常会承受超出日常数倍甚至数十倍的流量冲击。随着历年来双11流量的大幅增加,每年这些浏览型系统都要面临容量评估、硬件扩容、性能优化等各...

胡阳
2014/05/07
0
0
大型网站设计注意事项

1、HTML静态化 其实大家都知道,效率最高、消耗最小的就是纯静态化的html页面,所以我们尽可能使我们的网站上的页面采用静态页面来实现,这个最简单的方法其实也是最有效的方法。但是对于大量...

dongzhumao
2010/11/04
0
0

没有更多内容

加载失败,请刷新页面

加载更多

聊聊flink的FsStateBackend

序 本文主要研究一下flink的FsStateBackend StateBackend flink-runtime_2.11-1.7.0-sources.jar!/org/apache/flink/runtime/state/StateBackend.java @PublicEvolvingpublic interface Sta......

go4it
12分钟前
0
0
webpack配置proxyTable时pathRewrite无效的解决方法

webpack配置接口地址代理 在项目开发中,接口联调的时候一般都是同域名下,且不存在跨域的情况下进行接口联调,但是当我们在本地启动服务器后,比如本地开发服务下是 http://localhost:8080 ...

前端小攻略
12分钟前
0
0
安装jenkins

1.下载 wget https://mirrors.tuna.tsinghua.edu.cn/jenkins/war/2.155/jenkins.war 2.后续操作和 dubbo 安装类似: (1)复制一份空白的tomcat,重命名为:jenkins-tomcat (2)war包放入t...

狼王黄师傅
20分钟前
1
0
zookeeper配置与使用

一.登录官网下载 不要带后缀的,那是公侧版本,下稳定版,比如3.4.9 二.安装与使用 解压后bin里是启动程序 配置文件:在conf下 复制zoo_sample.cfg改名为为zoo.cfg,打开zoo修改文件...

小兵胖胖
44分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部