欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

PHP中eAccelerator API开发详解

程序员文章站 2024-02-14 12:08:16
...
  1. eaccelerator_lock(“count”);
  2. eaccelerator_put(“count”,eaccelerator_get(“count”)+1));
  3. ?>
复制代码

eaccelerator_unlock($key) 根据 $key 释放锁

eaccelerator_cache_output($key, $eval_code, $ttl=0) 将 $eval_code 代码的输出缓存 $ttl 秒,($ttl参数同 eacclerator_put) 例如:

复制代码

eaccelerator_cache_result($key, $eval_code, $ttl=0) 将 $eval_code 代码的执行结果缓存 $ttl 秒,($ttl参数同 eacclerator_put),类似 cache_output 例如:

复制代码

eaccelerator_cache_page($key, $ttl=0) 将当前整页缓存 $ttl 秒。 例如:

  1. eaccelerator_cache_page($_SERVER['PHP_SELF'].'?GET='.serialize($_GET),30);
  2. echo time();
  3. phpinfo();
  4. ?>
复制代码

eaccelerator_rm_page($key) 删除由 eaccelerator_cache_page() 执行的缓存,参数也是 $key

2、php代码中使用eAccelerator加速 另外,在PHPCMS里面已经集成了对eAccelerator的支持,下面是一段来自PHPCMS里面的代码

  1. class cache

  2. {
  3. function __construct()
  4. {
  5. }
  6. function cache()

  7. {
  8. $this->__construct();
  9. }
  10. function get($name)

  11. {
  12. return eaccelerator_get($name);
  13. }
  14. function set($name, $value, $ttl = 0)

  15. {
  16. eaccelerator_lock($name);
  17. return eaccelerator_put($name, $value, $ttl);
  18. }
  19. function rm($name)

  20. {
  21. return eaccelerator_rm($name);
  22. }
  23. function clear()

  24. {
  25. return eaccelerator_gc();
  26. }
  27. }
复制代码