Leo*_*Leo 6 php opcode-cache xcache
我在网上搜索了包括XCache网站在内的文档.
我是PHP操作码缓存和XCache的新手.我想解释一下XCache的工作原理.我知道它存储编译的PHP代码,因此不需要每次都重新编译.但是,XCache如何知道PHP代码何时更新,因此缓存已过期?
我怎么知道是否需要清除缓存?
XCache是否编译并缓存服务器上的所有 php代码?如果是这样可以配置?
木cl是什么?奥姆斯?我在XCache管理页面界面中看到了这两者的大数字.
在代码覆盖率查看器中...百分比意味着什么?这是缓存的代码百分比吗?命中是否表示已从缓存中读取的已编译代码行数?行是否代表代码行的总数?什么是ToDo专栏?为什么有些线条用红色突出显示?
我正在使用PHP 5.3.2,XCache 1.3.0和Ubuntu 10.04,如果有帮助的话.
通过将PHP脚本的编译状态缓存到shm(RAM)中并通过RAM直接使用编译版本来删除PHP脚本的编译时间来优化性能.
基于使用PHP 5.5.3和Xcache 3.1.0的观察,这是我可以推断的:
该模块处理两种缓存操作码和变量.
该操作码缓存的设计是一个简单的下降项.你无法自定义它决定缓存的方式,只需多少:
size/count大量内存变量缓存需要在应用程序代码中使用简单的get/set api.使用使它后xcache.var_size和xcache.var_count(类似操作码设置)使用xcache_set($var1),并xcache_get($var1)在您的脚本.
该xcache.stat设置控制是否要检查文件是否被修改,因为它被缓存:
在您的开发环境中,最好将其保持打开状态,以便您可以连续更新和检查代码 - 否则您必须刷新缓存以查看文件更新.
有一个Web管理界面,允许您刷新特定的缓存.网络管理员使用php api : xcache_clear_cache(…).
由于缓存是基于RAM的,因此服务器重新启动时应刷新缓存.
缓存项目根据xcache.ttl并且xcache.var_ttl分别控制缓存项目的生存秒数(0是无限期和默认值).
coverager模块,即代码覆盖,有点神秘.根据FeatureList,它似乎是一个诊断工具,旨在为临时管理/测试情况启用:
- Coverager +真实生活测试用例框架,包括:[TOSHARE]
- 现实生活中的testcase框架,一个带有真实浏览器的控制脚本.你必须编写测试用例.
- 内置Coverager +来自网络的查看器,查看您测试了多少脚本.
- testcase + Coverager只是帮助你确保所有现实生活中的php web应用程序运行正常
- 启用XCache后
- 将php4升级到php5之后
- 将php4/5升级到php6之后