1. 关于版本php
个人php版本是5.3.10 最开始使用 APC-3.1.8 编译成功,可是 php -m 得不到扩展 , 换成 APC-3.1.9 后解决。正则表达式
2. 关于配置缓存
apc.cache_by_default = 0 的时候 须要 filters 来匹配开启的文件 通常这两个是配套使用服务器
apc.cache_by_default | 默认启用缓存。1表示“启用”,0表示“禁用” |
apc.filters | 根据逗号分隔的POSIX正则表达式判断文件须要缓存仍是不须要缓存。以a+开头的正则 表达式将强制APC不缓存与此正则表达式匹配的任何文件。以a-开头的正则表达式将强制 APC缓存与此正则表达式匹配的任何文件 |
apc.stat | 启用或禁用APC对于全部请求PHP脚本是否有更改的检查。每次调用脚本时均会执行此 过程。若是禁用该设置,在对PHP脚本进行任意更改后均须要从新启动WEB服务器以 清除缓存并更改脚本内容。0=禁用,1=启用,默认1 |
apc.enabled | 启用或禁用APC缓存。0=禁用,1=启用,默认1 |
apc.shm_size | 设置APC容许使用的共享内存大小,此值以兆字节为单位 |
apc.shm_segments | 设置可用的共享内存段总数 |
apc.include_once_override | 启用或禁用include_once和require_once的优化。启用该设置时,可减小PHP内部函数进行的额外系统调用。0=禁用,1=启用,默认0 |
apc.optimization | 设置优化级别。0=禁用优化功能 |
apc.num_files_hint | 设置你认为须要缓存的文件数。默认值1000,若是不肯定文件数,能够设置0 |
apc.ttl | 设置文件存储在缓存中的过时时间,以秒为单位。 |
apc.write_lock | 开启该设置将强制单个进程缓存特定的脚步。适用于必须缓存多个文件的大流量WEB服务器或应用程序 |
3. cli 模式下的变量缓存 开启 框架
apc.enable_cli = 1yii
4. 性能 yii框架 xhprof测试结果ide
没有开启以前是这样函数
YiiBase::autoload Inc: 29.730 ms (18.1%) Excl: 0.867 ms (0.5%) 35 total calls工具
开启以后 一样 35次load操做性能
YiiBase::autoload Inc: 6.477 ms (5.5%) Excl: 0.454 ms (0.4%) 35 total calls
耗时明显下降
5. 变量缓存
$bar = 'BAR';
apc_store('foo', $bar);
var_dump(apc_fetch('foo'));
6. 进程通讯工具
尝试了下 多进程时的APC变量缓存, 主进程是能够和子进程共享的,说明 apc能够做为进程通讯工具, 这点太赞了。