再次研究下cache_lite

晚上详细的看了下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>";
}
?>

(0)

相关推荐

  • 再次研究下cache_lite

    晚上详细的看了下cache_lite,功能比我想象中的强大的多.当然目前我还没有发现它是否支持直接保存PHP代码来缓存的功能,不过我想应该是可以扩展实现的. 这里有几个例子: <? require_once('../libs/cache/Lite.php'); $options = array(     'cacheDir' => '../cache/test/',     'fileLocking' =>true,     'writeControl'=>true,     'r

  • 研究下DOS下联网的方法

    随着计算机和网络的普及,计算机之间的联网操作(如文件的传输,聊天等)以及Internet网络显得越来越重要了.既然DOS有这么多的用户,那么如何 用它来实现联网呢?DR-DOS 7.xx和ROM-DOS 7.xx中自带联网(包括局域网和TCP/IP协议等)的功能,可是我们大家常用的MS-DOS却没有.但是,并不是没有办法,只是需要一些附加的软件. 比较好的有Netware Lite 1.x和Microsoft Network Client 3.0等(均可在本站的"网络工具"中下载),下

  • 简单的编程0基础下Python入门指引

    你曾经想知道计算机是如何工作的吗?尽管我们不能在一篇文章里面教会你所有的东西,但是可以通过学习如何写出你自己的程序来获得一个良好的开端.在这篇Python教程中,你将会学到计算机编程的基础知识,使用对新手来说最棒的编程语言之一. 什么是编程? 尽可能简单的讲,编程是编写代码,命令计算机去完成某项任务的艺术.这里讲的某项任务,可以是简单的两数相加,或是像把飞船送入轨道这样的复杂任务! 一个程序里面,最小的组成部分被称作语句(statement)--代表了对计算机做出的一条指令. 当你完成了自己的程

  • cache_lite试用

    今天研究下pear的cache_lite. 从http://pear.php.net上下载了最新的cache_lite.cache_lite是pear库类中一个轻型的cache库类.的确轻型,代码总计4个文件.lite.php cache/File.php cache/unction.php cache/output.php.而且扩展性特别好,加入到自己的库类,主要修改下lite.php的raiseError函数. 加入自己的库类后,开始测试.首先基本的缓存: <? require_once('

  • asp下利用xml打包网站文件

    这个方法可以把整个文件夹打包到xml文件中,把这个xml文件文件和解包文件放在一起后,运行解包文件就可以把原来的文件释放出来,这样我们就可以把网站打包上传到虚拟主机,再运行解包文件就可以了.我在本地测试之选择了少部分文件,不知在文件很多的情况执行效率如何.     其实实现的思路也很简单,主要利用的是xml文件可以存放二进制数据的原理.有兴趣的朋友可以下载下面的附件研究下!! 解包文件 复制代码 代码如下: <%@LANGUAGE="VBSCRIPT" CODEPAGE=&quo

  • 在asp.net(c#)下实现调用cmd的方法

    下面以ping 为例用到命名空间System.Diagnostics: System.Diagnostics 命名空间 包含了能够与系统进程 事件日志 和性能计数器进行交互的类 一般用于帮助诊断和调试应用程序 例如 Debug类用于帮组调试代码 Process类能够控制进程访问 Trace类能够跟踪代码的执行情况 Process 用于操作本地或者远程进程打访问 通过Process 可以在托管环境下很容易的操作对外部进程的启动或者停止 . 复制代码 代码如下: using System; usin

  • asp.net下用Aspose.Words for .NET动态生成word文档中的数据表格的方法

    1.概述 最近项目中有一个这样的需求:导出word 文档,要求这个文档的格式不是固定的,用户可以随便的调整,导出内容中的数据表格列是动态的,例如要求导出姓名和性别,你就要导出这两列的数据,而且这个文档不是导出来之后再调整而是导出来后已经是调整过了的.看到这里,您也许马上想到用模板导出!而且.NET中自带有这个组件:Microsoft.Office.Interop.Word,暂且可以满足需求吧.但这个组件也是有局限性的,例如客户端必须装 office组件,而且编码复杂度高.最麻烦的需求是后面那个-

  • C#中委托的+=和-=深入研究

    写在前面 为什么会突然想说说委托?原因吗,起于一个同事的想法,昨天下班的路上一直在想这个问题,如果给委托注册多个方法,会不会都执行呢?为了一探究性,就弄了个demo研究下. += 大家都知道委托都继承自System.MulticastDelegate,而System.MulticastDelegate又继承自System.Delegate,可以通过+=为委托注册多个方法.那么他们是否都执行了呢?执行的结果又是怎样的呢?有返回值和没返回值的是否结果是否一样?那就试着说说+=都干了哪些事? 测试代码

  • PHPExcel在linux环境下导出报500错误的解决方法

    原先我导出为 XLSX 格式,用的是 $objWriter = IOFactory::createWriter($objPHPExcel, 'Excel2007'); 报错,纠结就纠结在,在开发环境和测试环境都没问题,放在生产环境直接 500 错误. 后来我改成导出 XLS 格式, $objWriter = IOFactory::createWriter($objPHPExcel, 'Excel5'); 问题解决了,具体为什么待有空了研究下!!! 以上这篇PHPExcel在linux环境下导出报

  • Centos7.3下vsftp服务的安装方法

    我们需要向centos操作系统的服务器上上传文件或者下载文件,这时候,ftp有必要安装下,本文为大家分享了vsftp服务的安装方法,供大家参考,具体内容如下 我们选择主流的vsftp: 第一步:安装vsftp yum install -y vsftpd 第二步:设置开机启动 systemctl enable vsftpd 第三步:启动ftp服务 systemctl start vsftpd.service 第四步:打开防火墙 firewall-cmd --zone=public --add-po

随机推荐