当前位置: 首页 > 图文教程 > 网络编程 > PHP > 再次研究下cache_lite

PHP
php 服务器调试 Zend Debugger 的安装教程
从Web查询数据库之PHP与MySQL篇
php 应用程序安全防范技术研究
php 不同编码下的字符串长度区分
php 生成饼图 三维饼图
PHP 字符截取 解决中文的截取问题,不用mb系列
PHP5 操作MySQL数据库基础代码
php面向对象全攻略 (一) 面向对象基础知识
php面向对象全攻略 (二) 实例化对象 使用对象成员
php面向对象全攻略 (三)特殊的引用“$this”的使用
php面向对象全攻略 (四)构造方法与析构方法
php面向对象全攻略 (五) 封装性
php面向对象全攻略 (六)__set() __get() __isset() __unset()的用法
php面向对象全攻略 (七) 继承性
php面向对象全攻略 (八)重载新的方法
php面向对象全攻略 (九)访问类型
php面向对象全攻略 (十) final static const关键字的使用
php面向对象全攻略 (十一)__toString()用法 克隆对象 __call处理调用错误
php面向对象全攻略 (十二) 抽象方法和抽象类
php面向对象全攻略 (十四) php5接口技术

PHP 中的 再次研究下cache_lite


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 285 ::
收藏到网摘: n/a

晚上详细的看了下cache_lite,功能比我想象中的强大的多。当然目前我还没有发现它是否支持直接保存PHP代码来缓存的功能,不过我想应该是可以扩展实现的。
这里有几个例子:

<?
require_once('../libs/cache/Lite.php');
$options = array(
'cacheDir' => '../cache/test/',
'fileLocking' =>true,
'writeControl'=>true,
'readControl'=>false,
'fileNameProtection'=>false,//关闭文件名安全模式。cache id和组名将直接应用到 cache文件的文件名,所以要小心使用特殊字符.
'automaticSerialization'=>false,//关闭自动序列
'hashedDirectoryLevel'=>2,//设置两级缓存路径
'lifeTime' => 60
);
$Cache = new Cache_Lite($options);
$id='test';
if(
$data=$Cache->get($id,'test')){
echo
$data;
}else{
$data=time();
$Cache->save($data);
echo
$data;
}
?>

对输出进行缓存

<?
require_once('../libs/cache/Lite.php');
require_once(
'../libs/cache/Lite/output.php');
$options = array(
'cacheDir' => '../cache/test/',
'lifeTime' => 60,
'pearErrorMode' => CACHE_LITE_ERROR_DIE
);
$cache =new Cache_Lite_Output($options);
if (!(
$cache->start('id_of_the_page'))) {
// 没有发现Cache !
echo 'test time:'.time().'<br>test<br>';
$cache->end(); // 缓冲的输出现在被存储到一个cache文件中
}
?>

对函数进行缓存

<?
require_once('../libs/cache/Lite.php');
require_once(
'../libs/cache/Lite/Function.php');
$options = array(
'cacheDir' => '../cache/test/',
'lifeTime' => 3600,
'pearErrorMode' => CACHE_LITE_ERROR_DIE
);
$cache = new Cache_Lite_Function($options);
$cache->call('function_to_bench', 12, 45);
function
function_to_bench($arg1, $arg2)
{
echo
"This is the output of the function function_to_bench($arg1, $arg2) !<br>";
return
"This is the result of the function function_to_bench($arg1, $arg2) !<br>";
}
?>