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 设计的开源优化工具,旨在提高 PHP 应用程序的性能。它的主要功能包括缓存编译后的 PHP 字节码以减少每次加载页面时的解析...
### 使用 eAccelerator 加速 PHP 代码的目的及实践 #### 一、eAccelerator 概述 eAccelerator 是一款专为 PHP 设计的开源优化工具,主要用于提高 PHP 应用程序的性能。其主要功能包括对 PHP 脚本进行缓存、压缩...
eAccelerator 是一个免费开源的 PHP 加速、优化、编译和动态缓存的项目,它可以通过缓存 PHP 代码编译后的结果来提高 PHP 脚本的性能,使得一向很复杂和离我们很远的 PHP 脚本编译问题完全得到解决。通过使用 ...
eAccelerator专门为PHP开发,是目前较为主流的可使用在PHP之中的缓存加速工具. eAccelerator的主要功能: 1. 缓存PHP文件的执行代码:在被缓存的代码再次被调用时,将直接从内存读取,从而在很大程度了PHP运行的...
这个标签有助于将讨论聚焦在这款PHP加速器上,它可以对PHP脚本进行编译和缓存,使得多次请求相同的PHP页面时,能够从内存中快速加载,而无需每次都解析和执行PHP代码。 【压缩包子文件的文件名称列表】包含两个文件...
在Windows环境下编译、配置 eAccelerator 加速PHP 附eAccelerator.dll for php5.3.8 nts下载: http://www.oaxueyuan.com/compiled-in-a-windows-environment-configuration-eaccelerator-php-acceleration.html ...
DLL文件包含了程序运行所需的特定功能,eAccelerator0953_5.2.10.dll可能是用来加速和优化PHP脚本执行的组件,通过缓存编译后的PHP代码来减少处理时间。 【标签】"免费"表示这个软件组件是免费提供的,用户无需支付...
正确配置和使用eAccelerator,可以显著减少服务器的负载,提升PHP应用的执行速度,从而优化整个Web服务器的性能。在Linux操作系统中,eAccelerator因其开源、高效的特点,成为了许多开发者和系统管理员优化PHP性能的...
3. **代码优化**:尽管eAccelerator可以提高执行速度,但编写高效的PHP代码仍然是基础。避免使用过多的数据库查询,合理利用缓存机制,并优化循环和函数调用。 4. **配合其他优化工具**:结合使用其他性能优化工具,...
总的来说,eAccelerator 是一个对 PHP 5.2.8 版本非常有价值的加速工具,尤其在 Windows 环境下,通过正确配置和使用 eAccelerator.dll 和 eLoader.dll,可以显著提升 PHP 应用的执行效率,降低服务器负载。...
eAccelerator通过将PHP代码编译成共享内存中的字节码来实现这一目的,从而减少了每次请求时解释PHP代码的时间。此外,它还可以缓存常量和变量,避免了重复编译,进一步提升了网站的响应速度。 PHPCoder与...
4. **自动优化**:eAccelerator还提供了一种自动优化功能,它会分析PHP代码并进行优化,以减少不必要的运算和提高执行效率。 5. **API支持**:eAccelerator提供了API接口,允许开发者自定义缓存策略,如存储用户...
使您的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 \ --...