探讨PHP使用eAccelerator的API开发
1、api和文档描述:eAccelerator提供了方便,实现了本地缓存方便、稳定。因为大部分的代码是基于共享内存,它只能用在*nix平台。Windows平台米迦勒暂时不知道何时支持此操作。
eAccelerator提供以下API接口和文件:(以下文件下的文件 / /目录的PHP源码包)
文件列表:
复制代码代码如下所示:
cache.php
dasm.php
encoder.php
php
loader.php
session.php
shared_memory.php
接口列表:
复制代码代码如下所示:
阵列eaccelerator_cached_scripts()
无效eaccelerator_cache_output(字符串的字符串的关键,eval_code,{ int TTL = 0美元})
无效eaccelerator_cache_page(字符串的关键,{ int $ TTL = 0 })
无效eaccelerator_cache_result(字符串的关键,字符串的代码,{ int $ TTL = 0 })
无效eaccelerator_caching(布尔为标志)
eaccelerator_clean(无效)
eaccelerator_clear(无效)
阵列eaccelerator_dasm_file(混合为文件名)
混合(混合型eaccelerator_encode美元,{混合为前缀= '' },{ = {字符串的字符串post_content = pre_content美元},})
eaccelerator_gc(无效)
混合eaccelerator_get(字符串的关键)
阵列eaccelerator_info()
阵列eaccelerator_list_keys()
eaccelerator_load(无效)
布尔eaccelerator_lock(字符串的关键)
无效eaccelerator_optimizer(布尔为标志)
eaccelerator_purge(无效)
布尔eaccelerator_put(字符串的关键,混合美元价值,美元{ int TTL = 0 })
阵列eaccelerator_removed_scripts()
布尔eaccelerator_rm(字符串的关键)
无效eaccelerator_rm_page(字符串的关键)
布尔eaccelerator_set_session_handlers()
布尔eaccelerator_unlock(字符串的关键)
以下是部分互联网接口翻译后的解释:
复制代码代码如下所示:
eaccelerator_put(美元美元美元价值的关键,,TTL = 0)
美元美元的密钥存储在缓存中的关键值(PHP4的支持型、下看源代码作为zend2不支持),$的TTL是生命周期的缓存,单位是秒,省略该参数或指定为0没有时间限制,服务器直到重新启动空。
eaccelerator_get($键)
返回相应的eaccelerator_put()存储的数据从缓存美元关键,如果缓存已经过期或不存在,则返回值为空
eaccelerator_rm($键)
基于$键删除缓存
eaccelerator_gc()
删除所有过期密钥
eaccelerator_lock($键)
锁定操作的资金加上重点保证数据在多进程的同步和多线程operations.eaccelerator_unlock($键)需要被调用来释放锁或等待程序自动释放锁底。
例如:
< PHP
eaccelerator_lock(计数);
eaccelerator_put(计数,eaccelerator_get(计数)+ 1));
>
eaccelerator_unlock($键)
根据钥匙释放锁
eaccelerator_cache_output(美元美元美元的关键,eval_code,TTL = 0)
美元的eval_code代码的输出缓存TTL秒美元($ TTL参数和eacclerator_put)
例如:
eaccelerator_cache_result(美元美元美元的关键,eval_code,TTL = 0)
为TTL秒缓存eval_code美元代码的执行结果,($ TTL参数和eacclerator_put),类似于cache_output
例如:
eaccelerator_cache_page($key,TTL = 0美元)
缓存当前整个页面的TTL秒。
例如:
< PHP
eaccelerator_cache_page($ _server { } 'php_self '。' = '。连载($ _get),30);
回波时间();
Phpinfo();
>
eaccelerator_rm_page($键)
删除由eaccelerator_cache_page缓存(),和参数为关键
2、使用eAccelerator加速PHP代码
此外,对于eAccelerator的支持已经集成在PHPCMS,以下是从PHPCMS的一段代码
复制代码代码如下所示:
级缓存
{
__construct()函数
{
}
函数缓存()
{
美元-> __construct();
}
函数获取($ name)
{
返回eaccelerator_get($name);
}
函数集(名称,$,$ = 0)
{
eaccelerator_lock($name);
返回eaccelerator_put($name,美元美元价值,TTL);
}
函数RM($ name)
{
返回eaccelerator_rm($name);
}
功能明确()
{
返回eaccelerator_gc();
}
}