`
shake863
  • 浏览: 661246 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

使用 eAccelerator加速PHP代码

    博客分类:
  • php
阅读更多

eAccelerator 真是一个好东西(它的前身是truck-mmcache)。

简单来讲它是一套配合PHP(支持PHP5)运作的缓存系统,通过共享内存或磁盘文件方式交换数据。

它被广为使用的是PHP源码“编码”(不太贴切的称为“加密”)和缓存PHP执行的中间码以加速。关于 eA 的安装使用的文章已经很多而且也很详细了,这次我想推荐的是用它辅助程序设计缓存,它提供了一组API如下:

是一个非常便捷而又稳定的本机缓存实现方式,目前这部分设计似乎只支持于共享内存,所以只能用于 Unix -Like OS 了,windows的就没这个福气了。

1. eaccelerator_put($key, $value, $ttl=0)
将 $value 以 $key 为键名存进缓存(php4下支持对像类型,看源码好像zend2里不支持了),$ttl 是这个缓存的生命周期,单位是秒,省略该参数或指定为 0 表示不限时,直到服务器重启清空为止。

2. eaccelerator_get($key)
根据 $key 从缓存中返回相应的 eaccelerator_put() 存进去的数据,如果这项缓存已经过期或不存在那么返回值是 NULL

3. eaccelerator_rm($key)
根据 $key 移除缓存

4. eaccelerator_gc()
移除清理所有已过期的 key

5. eaccelerator_lock($key)
为 $key 加上锁定操作,以保证多进程多线程操作时数据的同步。需要调用 eaccelerator_unlock($key) 来释放这个锁或等待程序请求结束时自动释放这个锁。
例如:
<?php
    eaccelerator_lock("count");
    eaccelerator_put("count",eaccelerator_get("count")+1));
?>

6. eaccelerator_unlock($key)
根据 $key 释放锁

7. eaccelerator_cache_output($key, $eval_code, $ttl=0)
将 $eval_code 代码的输出缓存 $ttl 秒,($ttl参数同 eacclerator_put)
   For Example:
<?php eaccelerator_cache_output('test', 'echo time(); phpinfo();', 30); ?>

8. eaccelerator_cache_result($key, $eval_code, $ttl=0)
将 $eval_code 代码的执行结果缓存 $ttl 秒,($ttl参数同 eacclerator_put),类似 cache_output
   For Example:
<?php eaccelerator_cache_result('test', ' time() . "Hello";', 30); ?>

9. eaccelerator_cache_page($key, $ttl=0)
将当前整页缓存 $ttl 秒。
For Example:
<?php
    eaccelerator_cache_page($_SERVER['PHP_SELF'].'?GET='.serialize($_GET),30);
    echo time();
    phpinfo();
?>

10. eaccelerator_rm_page($key)
删除由 eaccelerator_cache_page() 执行的缓存,参数也是 $key

______________________________________________
(作个简单例子看看它的威力,注意在 cli 模式下可能无效!)

<?php

class test_cache {

var $pro = 'hello';



function test_cache() {

    echo "Object Created!<br>\n";

}

function func() {

    echo ', the world!';

}

function now($t) {

    echo date('Y-m-d H:i:s', $t);

}

}



$tt = eaccelerator_get("test_tt");

if (!$tt)

{

$tt = new test_cache;

eaccelerator_put("test_tt", $tt);

echo "no cached!<br>\n";

}

else {

echo "cached<br>\n";

}



echo $tt->pro;

$tt->func();

$tt->now(time() + 86400);

?>
 

 

分享到:
评论

相关推荐

    使用 eAccelerator加速PHP代码的方法

    ### 使用 eAccelerator 加速 PHP 代码的方法 #### 一、概述 eAccelerator 是一款专为 PHP 设计的开源优化工具,旨在提高 PHP 应用程序的性能。它的主要功能包括缓存编译后的 PHP 字节码以减少每次加载页面时的解析...

    使用 eAccelerator加速PHP代码的目的

    ### 使用 eAccelerator 加速 PHP 代码的目的及实践 #### 一、eAccelerator 概述 eAccelerator 是一款专为 PHP 设计的开源优化工具,主要用于提高 PHP 应用程序的性能。其主要功能包括对 PHP 脚本进行缓存、压缩...

    php缓存加速器eAccelerator配置详解.doc

    eAccelerator 是一个免费开源的 PHP 加速、优化、编译和动态缓存的项目,它可以通过缓存 PHP 代码编译后的结果来提高 PHP 脚本的性能,使得一向很复杂和离我们很远的 PHP 脚本编译问题完全得到解决。通过使用 ...

    PHP缓存加速工具 eAccelerator v0.9.6.1 开源版.rar

    eAccelerator专门为PHP开发,是目前较为主流的可使用在PHP之中的缓存加速工具. eAccelerator的主要功能: 1. 缓存PHP文件的执行代码:在被缓存的代码再次被调用时,将直接从内存读取,从而在很大程度了PHP运行的...

    eaccelerator for 5.2.17 discuz x2.5

    这个标签有助于将讨论聚焦在这款PHP加速器上,它可以对PHP脚本进行编译和缓存,使得多次请求相同的PHP页面时,能够从内存中快速加载,而无需每次都解析和执行PHP代码。 【压缩包子文件的文件名称列表】包含两个文件...

    eAccelerator.dll for php5.3.8 nts

    在Windows环境下编译、配置 eAccelerator 加速PHP 附eAccelerator.dll for php5.3.8 nts下载: http://www.oaxueyuan.com/compiled-in-a-windows-environment-configuration-eaccelerator-php-acceleration.html ...

    eAccelerator0953_5.2.10.dll

    DLL文件包含了程序运行所需的特定功能,eAccelerator0953_5.2.10.dll可能是用来加速和优化PHP脚本执行的组件,通过缓存编译后的PHP代码来减少处理时间。 【标签】"免费"表示这个软件组件是免费提供的,用户无需支付...

    在linux上建立PHP的加速器eAccelerator.pdf

    正确配置和使用eAccelerator,可以显著减少服务器的负载,提升PHP应用的执行速度,从而优化整个Web服务器的性能。在Linux操作系统中,eAccelerator因其开源、高效的特点,成为了许多开发者和系统管理员优化PHP性能的...

    php加速器,加速您的PHP程序

    3. **代码优化**:尽管eAccelerator可以提高执行速度,但编写高效的PHP代码仍然是基础。避免使用过多的数据库查询,合理利用缓存机制,并优化循环和函数调用。 4. **配合其他优化工具**:结合使用其他性能优化工具,...

    eAccelerator for PHP 5.2.8 in windows

    总的来说,eAccelerator 是一个对 PHP 5.2.8 版本非常有价值的加速工具,尤其在 Windows 环境下,通过正确配置和使用 eAccelerator.dll 和 eLoader.dll,可以显著提升 PHP 应用的执行效率,降低服务器负载。...

    phpcoder_eaccelerator-1.5

    eAccelerator通过将PHP代码编译成共享内存中的字节码来实现这一目的,从而减少了每次请求时解释PHP代码的时间。此外,它还可以缓存常量和变量,避免了重复编译,进一步提升了网站的响应速度。 PHPCoder与...

    eAccelerator

    4. **自动优化**:eAccelerator还提供了一种自动优化功能,它会分析PHP代码并进行优化,以减少不必要的运算和提高执行效率。 5. **API支持**:eAccelerator提供了API接口,允许开发者自定义缓存策略,如存储用户...

    eacc-php代码执行加速器

    使您的PHP程序代码执效率能提高1-10倍; 安装步骤: # tar xvf eaccelerator-0.9.5.2.tar.bz2  # cd cd eaccelerator-0.9.5.2  # export PHP_PREFIX="/usr"  # $PHP_PREFIX/bin/phpize  # ./configure \  --...

Global site tag (gtag.js) - Google Analytics