`
shake863
  • 浏览: 667893 次
  • 性别: 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概述.docx

    eAccelerator 是一个流行的 PHP 加速器,可以将 PHP 代码编译成本机代码,提高 PHP 应用程序的执行速度。下面是有关 eAccelerator 的概述和安装指南。 eAccelerator 的安装 要安装 eAccelerator,首先需要下载最新...

    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代码。 【压缩包子文件的文件名称列表】包含两个文件...

    eAccelerator0953_5.2.10.dll

    DLL文件包含了程序运行所需的特定功能,eAccelerator0953_5.2.10.dll可能是用来加速和优化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 ...

    在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