eaccelerator php7,使用 eAccelerator加速PHP代码的方法

使用 eAccelerator加速PHP代码的方法

更新时间:2007年09月30日 09:46:48   作者:

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) 来释放这个锁或等待程序请求结束时自动释放这个锁。

例如:

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:

8. eaccelerator_cache_result($key, $eval_code, $ttl=0)

将 $eval_code 代码的执行结果缓存 $ttl 秒,($ttl参数同 eacclerator_put),类似 cache_output

For Example:

9. eaccelerator_cache_page($key, $ttl=0)

将当前整页缓存 $ttl 秒。

For Example:

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!
/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!
/n";}else {  echo "cached
/n";}echo $tt->pro; $tt->func();$tt->now(time() + 86400);?>

相关文章

1a1b05c64693fbf380aa1344a7812747.png

这篇文章主要给大家介绍了关于解决laravel 5.1报错:No supported encrypter found的相关资料,文中介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友可以参考借鉴,下面来一起看看吧。2017-06-06

4f55910a645b073bc4fc65dc10dc14bd.png

php中is_file()函数是用来判断文件是否存在,使用方法也非常的简单,有需要的小伙伴可以参考下。2015-05-05

0ea3c7666119d5615e582f823fb3fad6.png

这篇文章主要介绍了php中使用gd库实现下载网页中所有图片,本文直接给出实现代码,需要的朋友可以参考下2015-05-05

4f96a78db829b1556ff16de21e013c7a.png

这篇文章主要介绍了thinkphp中AJAX返回ajaxReturn()方法,结合实例形式分析了thinkPHP中ajax操作的功能、数据返回格式以及ajaxReturn方法的简单使用技巧,需要的朋友可以参考下2016-12-12

8cc1031babc6aff2319f1c6af8544aa0.png

本文给大家介绍php环境中memcache的安装和使用,它可以应用任意多个连接,使用非阻塞的网络IO。由于它的工作机制是在内存中开辟一块空间,然后建立一个HashTable,Memcached自管理这些HashTable,感兴趣的朋友一起学习吧2015-11-11

0c932a99bb7b6f23c937db507070cc7b.png

收藏的一个php小偷的核心程序...2007-04-04

cca732bf65a93ed2ec0ac80c638460fe.png

这篇文章主要介绍了PHP上传Excel文件导入数据到MySQL数据库示例,可以将Excel的数据写入到MySQL数据库中,感兴趣的同学可以了解一下。2016-10-10

2d9f31f2af7b675a3d153d2b7f1035a7.png

今天小编就为大家分享一篇Laravel实现搜索的时候分页并携带参数,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2019-10-10

b452cee8ec5cd9e58ab98eba17281e59.png

这篇文章主要介绍了使用PHP编写学校网站上新生注册登陆程序的实例分享,只包括简单的数据库信息录入和查询等步骤的一些关键点,需要的朋友可以参考下2016-03-03

f4838ec7e2d4da28e0b57d4e852dadd4.png

这篇文章介绍了PHP连接局域网MYSQL数据库的简单实例,有需要的朋友可以参考一下2013-08-08

最新评论

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值