文档章节

缓存原理--静态化

PHer
 PHer
发布于 2014/06/17 11:16
字数 378
阅读 158
收藏 2
点赞 0
评论 0

缓存的分类:

            ①程序缓存

            ②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
博文 118
码字总数 38443
作品 0
成都
程序员
秋色园QBlog技术原理解析:性能优化篇:缓存总有失效时,持续的缓存方案(十四)

文章回顾: 1: 秋色园QBlog技术原理解析:开篇:整体认识(一) --介绍整体文件夹和文件的作用 2: 秋色园QBlog技术原理解析:认识整站处理流程(二) --介绍秋色园业务处理流程 3: 秋色园QBl...

晨曦之光 ⋅ 2012/03/09 ⋅ 0

php网站静态化

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

yang名扬 ⋅ 2014/07/15 ⋅ 0

小蚂蚁学习页面静态化(1)——静态化的原理

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

嗜学如命的小蚂蚁 ⋅ 2015/10/09 ⋅ 2

php页面静态化

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

金于虎 ⋅ 2016/12/19 ⋅ 0

秋色园QBlog技术原理解析:性能优化篇:用户和文章计数器方案(十七)

上节概要: 上节 秋色园QBlog技术原理解析:性能优化篇:access的并发极限及分库分散并发方案(十六) 中, 介绍了 Access的并发上限,及从某种程度上 秋色园QBlog 针对并发上限进行了多个数据...

晨曦之光 ⋅ 2012/03/09 ⋅ 0

天猫浏览型应用的CDN静态化架构演变

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

胡阳 ⋅ 2014/05/07 ⋅ 0

大型网站设计注意事项

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

dongzhumao ⋅ 2010/11/04 ⋅ 0

动态缓存技术之CSI,SSI,ESI

平时我们谈页面,大都数是以页面为单位的。 一、CSI (Client Side Includes) 含义:通过iframe、javascript、ajax等方式将另外一个页面的内容动态包含进来。 原理:整个页面依然可以静态化为...

jims ⋅ 2016/02/22 ⋅ 0

Android:手把手教你构建 WebView 的缓存机制 & 资源预加载方案

前言 由于具备 开发周期短、灵活性好 的特点,所以现在 大多嵌入了 组件进行 开发 但我知道你一定在烦恼 的性能问题,特别突出的是:加载速度慢 & 消耗流量 今天,我将针对 的性能问题,提出...

Carson_Ho ⋅ 2017/06/06 ⋅ 0

构建千万级web访问架构

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

波板糖 ⋅ 2015/08/14 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Netweaver和SAP云平台的quota管理

Netweaver 以需要为一个用户上下文(User Context)能够在SAP extended memory区域中分配内存尺寸创建quota为例。 对于Dialog工作进程,使用事务码修改参数 ztta/roll_extension_dia. 对于非D...

JerryWang_SAP ⋅ 18分钟前 ⋅ 0

IDEA提示编码速度

焦点移动 将焦点冲代码编辑窗口移动到菜单栏:Alt+菜单栏带下划线字母 将焦点从工具窗口移动到代码编辑窗口 Esc或Shift+Esc 将焦点从代码编辑移动到最近使用的工具窗口 F12 模板提示 Ctrl+J...

bithup ⋅ 27分钟前 ⋅ 0

180623-SpringBoot之logback配置文件

SpringBoot配置logback 项目的日志配置属于比较常见的case了,之前接触和使用的都是Spring结合xml的方式,引入几个依赖,然后写个 logback.xml 配置文件即可,那么在SpringBoot中可以怎么做?...

小灰灰Blog ⋅ 51分钟前 ⋅ 0

冒泡排序

原理:比较两个相邻的元素,将值大的元素交换至右端。 思路:依次比较相邻的两个数,将小数放在前面,大数放在后面。即在第一趟:首先比较第1个和第2个数,将小数放前,大数放后。然后比较第...

人觉非常君 ⋅ 58分钟前 ⋅ 0

Vagrant setup

安装软件 brew cask install virtualboxbrew cask install vagrant 创建project mkdir -p mst/vmcd mst/vmvagrant init hashicorp/precise64vagrant up hashicorp/precise64是一个box......

遥借东风 ⋅ 今天 ⋅ 0

python3.6 安装pyhook_3

我的是在win下的,忙了半天老是安装不了, pip install 也不行。 那么可以看出自己的版本是32bit 一脸懵逼 没办法 只好下载32版本的来安装 我一直以为 是 对应32 位的 。 下面是 小例子 http...

之渊 ⋅ 今天 ⋅ 0

004、location正则表达式

1、location的作用 location指令的作用是根据用户请求的URI来执行不同的应用,也就是根据用户请求的网站URL进行匹配,匹配成功即进行相关的操作。 2、location的语法 = 开头表示精确匹配 ^~...

北岩 ⋅ 今天 ⋅ 0

CentOS7 静默安装 Oracle 12c

环境 CentOS7.5 最小安装 数据库软件 linuxx64_12201_database.zip 操作系统配置 关闭 SELinux sed -i '/^SELINUX=/cSELINUX=disabled' /etc/selinux/config 关闭防火墙 systemctl disable ......

Colben ⋅ 今天 ⋅ 0

Yii2中findAll()的正确使用姿势/返回为空的处理办法

从一次错误的操作开始 $buildingObject = Building::findAll("status=1"); 1 这个调用看着没有任何毛病,但是在使用时返回的结果却是一个空数组。再回过头来看看数据表中: 按照套路来讲,查...

dragon_tech ⋅ 今天 ⋅ 0

如何优雅的编程——C语言界面的一点小建议

我们鼓励在编程时应有清晰的哲学思维,而不是给予硬性规则。我并不希望你们能认可所有的东西,因为它们只是观点,观点会随着时间的变化而变化。可是,如果不是直到现在把它们写在纸上,长久以...

柳猫 ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部