`
shake863
  • 浏览: 637526 次
  • 性别: 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代码的目的

    使用 eAccelerator加速PHP代码的目的

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

    eAccelerator专门为PHP开发,是目前较为主流的可使用在PHP之中的缓存加速工具. eAccelerator的主要功能: 1. 缓存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 ...

    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 \  --...

    eaccelerator 0.9.5.3 for php5.2.6 window版

    eAccelerator是一个自由开放源码php加速器,优化和动态内容缓存,提高了性能php脚本的缓存性能,使得PHP脚本在编译的状态下,对服务器的开销几乎完全消除。 它还有对脚本起优化作用,以加快其执行效率。使您的PHP...

    eaccelerator 0.9.6.1 for php5.2.14 window版

    eAccelerator是一个自由开放源码php加速器,优化和动态内容缓存,提高了性能php脚本的缓存性能,使得PHP脚本在编译的状态下,对服务器的开销几乎完全消除。 它还有对脚本起优化作用,以加快其执行效率。使您的PHP...

    PHP加速 eAccelerator配置和使用指南

    前一段时间完成了服务器从FreeBSD4.10到6.1的升级,同时把PHP也升级到了最新的PHP5.1.4,Apache也...文件配置5、验证安装三、使用eAccelerator开发PHP代码1、API文档和接口说明2、开发范例四、附录和参考资料 一、eA

    eaccelerator PHP加速器VC++源码0.9.6

    摘要:VC/C++源码,网络相关,PHP加速器 eaccelerator-0.9.6版的源码 ,它是一款PHP加速器软件,通过缓存PHP代码编译后的结果来提高PHP脚本的性能,本源码同时也是eaccelerator的使用版,你可直接使用它进行PHP加速,...

    配置eAccelerator和XCache扩展来加速PHP程序的执行

    eaccelerator安装配置PHP加速 eAccelerator简介 eAccelerator是一个的免费、开源的PHP模块,它能够为提供PHP加速、优化、加码、和动态内容缓存功能。它通过存储PHP脚本编译后的状态而加快执行PHP脚本的速度,而不...

    php加速器eAccelerator的配置参数、API详解

    利用eAccelerator可以减少服务器的负载并提高PHP代码的执行时间。 eAccelerator配置选项:复制代码 代码如下:zend_extension_ts=”X:Appphp-5.2.13-Win32exteaccelerator.dll”eaccelerator.shm_size=”32″...

    eaccelerator:已淘汰

    eAccelerator通常可以减少服务器负载,并使PHP代码的速度提高1到10倍。 eAccelerator是TurckMMCache的一个分支( ,作者Dmitry Stogov) eAccelerator将已编译PHP脚本存储在共享内存中,并直接从共享内存执行代码...

    Windows下编译安装php扩展eAccelerator教程

    利用eAccelerator可以减少服务器的负载并提高PHP代码的执行效率。 一、前期准备 1、下载php原代码和二进制包 地址:http://windows.php.net/download/ 2、下载eaccelerator(选择zip包) 地址:...

    win2003服务器之用Zend和eAccelerator在IIS6下同时加速

    使您的PHP程序代码执效率能提高1-10倍; 官方主页: http://eaccelerator.net 在Zend Optimizer的基础上再运行eAccelerator,我的PHP测试环境主要是Windows的IIS6+php-5.2.13环境,我在本机服务器和远程VMWARE主机上...

    深入eAccelerator与memcached的区别详解

    eAccelerator和memcached,是目前较为主流的两个可使用在PHP之中的缓存加速工具.eAccelerator专门为PHP开发,而memcached不仅仅用在PHP之中,其他所有的语言都可以使用. eAccelerator的主要功能:1. 缓存PHP文件的...

    PHP中4个加速、缓存扩展的区别和选用建议

    折腾VPS的朋友,在安装好LNMP等Web运行环境后都会选择一些缓存扩展安装以提高PHP运行速度,常被人介绍的有eAccelerator、memcached、xcache、Alternative PHP Cache这几个缓存扩展,它们之间有什么区别?分别的作用...

    wincache 1.0.1 for php5.2

    wincache是微软开发的一个类似于eaccelerator的PHP加速器,用于大幅度提高PHP代码在Windows操作系统上运行性能. 此版本适用于5.2.X版本php

    UPUPW PHP v5.2.17 经典怀旧版套装 c1.zip

    eAccelerator/1.0_svn427 PHP加速器,优化程序,编码器和动态内容缓存。 Zend Optimizer/3.3.3 优化代码,提高PHP应用程序的执行速度,显著降低服务器的CPU负载。  memcached.exe/1.2.6 memcached内存对象缓存系统...

Global site tag (gtag.js) - Google Analytics