在php页面缓存主要用到的是ob系列函数,如ob_start(),ob_end_flush(),ob_get_contents(),但是更高级的缓存是不使用这些函数的,本文章最后一个实现就有讲到,大家可参考一下。
ob_start():页面缓存开始的标志,此函数一下的内容直至ob_end_flush()或者ob_end_clean()都保存在页面缓存中;
ob_get_contents():用来获取页面缓存中的内容,获取到以后呢,我们就可以想怎么处理这些内容都行了,过滤字段啦,匹配内容啦,都可以~~~ :)
ob_end_flush():表示页面缓存结束。并且经我验证,缓存的内容将输出到当前页面上,也就是可以显示缓存内容。
用此三个php函数,就可以实现强大的功能。如果数据库查询量较大,可以用cache来解决这个问题。
下面是编码部分。
1.初始化函数,一般是设置页面缓存路径、缓存文件命名格式等,可按个人喜好自定义。这里用到的识别ID是经加密的$_SERVER[REQUEST_URI]参数。这个函数中最后还有一个if判断:若未过缓存期,则加载缓存文件,否则加载源文件。
| 代码如下 | 复制代码 |
|
function page_init() 立即学习“PHP免费学习笔记(深入)”; | |
2.页面缓存函数,这里使用到一个技巧:在缓存文件的内容中加上一个头部信息--过期时间,所以每次只需要对头部中的过期时间和当前时间进行比较(在page_init()函数中进行)就能判断缓存是否过期了。
| 代码如下 | 复制代码 |
|
| |
3.函数使用,注意这两个函数有先后执行顺序,还有别忘了ob_start()
| 代码如下 | 复制代码 |
| |
例2
下面做个示例来说明PHP页面缓存技术:
| 代码如下 | 复制代码 |
|
$_time =10; function cache_start($_time, $dir) function cache_end($dir) cache_start($_time, $dir); | |
例
利用生成文件做缓存
| 代码如下 | 复制代码 |
|
ob_start(); class Esj_Cache{ public function __construct($cache_foldername,$cacher_time=100) public function read_cache() }catch(Exception $e){ //测试缓存文件夹是否存在 //建立一个新的文件夹 //读取缓存文件 } } //返回文件的名字 //建立缓存文件 // 取得缓存中的所有文件 //删除缓存中的所有文件 } ?> | |
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号