使用 eAccelerator加速PHP代码的方法


Posted in PHP onSeptember 30, 2007

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 模式下可能无效!) 

<?phpclass 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);?>

PHP 相关文章推荐
dedecms防止FCK乱格式化你的代码的修改方法
Mar 17 PHP
php 服务器调试 Zend Debugger 的安装教程
Sep 25 PHP
PHP中通过语义URL防止网站被攻击的方法分享
Sep 08 PHP
用Zend Studio+PHPnow+Zend Debugger搭建PHP服务器调试环境步骤
Jan 19 PHP
php获取访问者IP地址汇总
Apr 24 PHP
PHP远程调试之XDEBUG
Dec 29 PHP
在Mac OS的PHP环境下安装配置MemCache的全过程解析
Feb 15 PHP
php使用number_format函数截取小数的方法分析
May 27 PHP
php使用crypt()函数进行加密
Jun 08 PHP
PHPstorm快捷键(分享)
Jul 17 PHP
PHP批量删除jQuery操作
Jul 23 PHP
Nginx+php配置文件及原理解析
Dec 09 PHP
实现php加速的eAccelerator dll支持文件打包下载
Sep 30 #PHP
用windows下编译过的eAccelerator for PHP 5.1.6实现php加速的使用方法
Sep 30 #PHP
一些常用的php简单命令代码集锦
Sep 24 #PHP
php下实现伪 url 的超简单方法[转]
Sep 24 #PHP
首页四格,首页五格For6.0(GBK)(UTF-8)[12种组合][9-18][版主安装测试通过]
Sep 24 #PHP
56.com视频采集接口程序(PHP)
Sep 22 #PHP
从MySQL数据库表中取出随机数据的代码
Sep 05 #PHP
You might like
多文件上载系统完整版
2006/10/09 PHP
php通过COM类调用组件的实现代码
2012/01/11 PHP
Laravel 5框架学习之环境与配置
2015/04/08 PHP
PHP实现计算器小功能
2020/08/28 PHP
jQuery UI Autocomplete 1.8.16 中文输入修正代码
2012/04/16 Javascript
document.write()及其输出内容的样式、位置控制
2013/08/12 Javascript
ExtJS[Desktop]实现图标换行示例代码
2013/11/17 Javascript
JS阻止冒泡事件以及默认事件发生的简单方法
2014/01/17 Javascript
Javascript 实现复制(Copy)动作方法大全
2014/06/20 Javascript
jQuery插件简单实现方法
2015/07/18 Javascript
CSS3 3D 技术手把手教你玩转
2016/09/02 Javascript
JS封装的三级联动菜单(使用时只需要一行js代码)
2016/10/24 Javascript
微信小程序 简单DEMO布局,逻辑,样式的练习
2016/11/30 Javascript
JS经典正则表达式笔试题汇总
2016/12/15 Javascript
node中koa中间件机制详解
2017/08/22 Javascript
React Native 使用Fetch发送网络请求的示例代码
2017/12/02 Javascript
vue项目部署到Apache服务器中遇到的问题解决
2018/08/24 Javascript
详解如何使用router-link对象方式传递参数?
2019/05/02 Javascript
JS桶排序的简单理解与实现方法示例
2019/11/25 Javascript
详解Vue Cli浏览器兼容性实践
2020/06/08 Javascript
Python中使用支持向量机(SVM)算法
2017/12/26 Python
Python文本处理简单易懂方法解析
2019/12/19 Python
python和pywin32实现窗口查找、遍历和点击的示例代码
2020/04/01 Python
Alba Moda德国网上商店:意大利时尚女装销售
2016/11/14 全球购物
日本卡普空电视游戏软件公司官方购物网站:e-CAPCOM
2018/07/17 全球购物
自荐信包含哪些内容
2013/10/30 职场文书
房地产还款计划书
2014/01/10 职场文书
大学生活自我评价
2014/04/09 职场文书
医疗纠纷协议书
2014/04/16 职场文书
共筑中国梦演讲稿
2014/04/23 职场文书
电工技术比武方案
2014/05/11 职场文书
人力资源管理专业自荐信
2014/06/24 职场文书
调研汇报材料范文
2014/08/17 职场文书
反四风个人对照检查材料
2014/09/26 职场文书
你有一份《诚信考试承诺书》待领取
2019/11/13 职场文书
配置nginx负载均衡
2022/05/06 Servers