PHP程序加速探索[9]--加速--函数缓存输出 PEAR cache

原创 2004年08月24日 23:50:00

函数缓存输出 PEAR cache

PEAR除了可以对输出的内容进行缓存处理外,还可以将对某个函数的调用结果缓存起来。这是个很有趣的功能,如果你的程序要频繁使用到某个函数,而且调用的结果相同的话,我建议你不妨试试,特别是当这个函数运行起来比较慢的时候。

下面我们实现对一个执行起来很慢的函数slowFunction()的缓冲调用。

<?php
require_once 'Cache/Function.php';

$cacheDir = './pear_cache/';
$cache = new Cache_Function('file',array('cache_dir' => $cacheDir));
$arr = array('苹果', '','西瓜');
$cache->call('slowFunction', $arr);
echo
'<BR>';

$arr = array('苹果', '','西瓜');
slowFunction($arr);

function
slowFunction($arr = null)
{
    echo
"一个执行起来很慢的函数 :( <br>";
    echo
"当前时间是 " . date('M-d-Y H:i:s A', time()) . '<br>';
    foreach (
$arr as $fruit)
    {
        echo
"我吃了一个 $fruit <br>";
    }
)

?>

       以下是示例的脚本执行结果:

一个执行起来很慢的函数 :(
当前时间是 Jul-28-2004 17:15:57 PM
我吃了一个 苹果
我吃了一个
我吃了一个 西瓜

一个执行起来很慢的函数 :(
当前时间是 Jul-28-2004 17:17:55 PM
我吃了一个 苹果
我吃了一个
我吃了一个 西瓜

代码中,Cache/Function.php类用来执行函数缓冲功能。$cache变量是一个Cache_Function对象,使用基于文件的函数缓存,存入$cacheDir目录。要缓存一个函数调,Cache_Function对象$cachecall()方法要像这样使用:$cache->call(slowFunction, $arr);

这里,slowFunction()函数被调用,参数为一个数组$arr,这个函数被缓存在$cacheDir目录下的一个文件里。任何在此之后的对这个函数的调用,将会由$cache->call()返回该函数执行的结果。

函数缓存和使用方法和内容缓存很相似,不再多说,具体请查看PEAR手册。

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Haohappy2004/article/details/83936

PHP程序加速探索[8]--内容缓存输出 PEAR cache

◆ 内容缓存输出 PEAR cache接下来我们开始探索更常用的缓存技术,这也是本文的重点部份。首先我们使用PEAR中的cache包。PEAR可以将内容缓存于文件,数据库或者内存中,我们以文件为例。下...
  • Haohappy2004
  • Haohappy2004
  • 2004-08-24 23:26:00
  • 6063

MaxIO智能缓存加速技术

MaxIO是一款SSD智能缓存加速软件,能够透明对传统存储进行性能加速。本文是MaxIO的技术白皮书,重点剖析其架构原理,并对MaxIO特性和局限性作了简要阐述。...
  • liuben
  • liuben
  • 2017-02-05 20:17:48
  • 3298

PHP内容缓存输出 PEAR cache

PHP内容缓存输出 PEAR cache作者:未知PEAR cache 安装/usr/ports/sysutils/pear-Cachemake install clean◆ 内容缓存输出 PEAR ...
  • cqinter
  • cqinter
  • 2007-07-27 15:37:00
  • 1641

PHP程序加速探索之缓存输出

内容缓存输出 PEAR cache   接下来我们开始探索更常用的缓存技术,这也是本文的重点部份。首先我们使用PEAR中的cache包。PEAR可以将内容缓存于文件,数据库或者内存中,我们以文件为例。...
  • susan5
  • susan5
  • 2008-12-16 14:33:00
  • 214

CDN与缓存加速有什么区别?

对于cdn加速可能网站的经营者们都不是陌生,它是内容分发网络,通过在网络各处放置节点服务器所构成的在现有的互联网基础之上的一层虚拟网络。CDN系统能够根据到用户的距离和响应时间等综合信息将用户的请求重...
  • buaichidoufu
  • buaichidoufu
  • 2016-11-12 11:05:08
  • 419

架设Squid代理作为WEB缓存加速

在局域网的路由服务器中假设Squid代理来统一管理并加速内网机器对外部网络的访问速度。...
  • tzdwsy
  • tzdwsy
  • 2016-02-04 16:12:11
  • 2795

PHP程序加速探索

http://blog.csdn.net/haohappy2004/category/37888.aspx
  • oxware
  • oxware
  • 2004-08-24 22:46:00
  • 761

英特尔CAS缓存加速软件优化SSD性能

Linux、SSD、数据中心,是目前人们讨论最多的IT科技领域。开源Linux一直被认为是未来最佳的平台系统,而且其在企业级方面有着得天独厚的优势;SSD也被认为是为了存储最佳介质,在未来很可能取代目...
  • zhangzh000
  • zhangzh000
  • 2013-09-13 13:08:51
  • 1567

Supercache 超级缓存使用详解

  • 2013年06月25日 17:22
  • 89KB
  • 下载

PHP程序加速探索之加速工具软件

PHP程序加速探索之加速工具软件 接着我们要关注一下PH
  • jiantailiang2003
  • jiantailiang2003
  • 2008-12-23 22:00:00
  • 305
收藏助手
不良信息举报
您举报文章:PHP程序加速探索[9]--加速--函数缓存输出 PEAR cache
举报原因:
原因补充:

(最多只允许输入30个字)