Symfony2 PHP 5.6 OpCode

时间:2015-01-30 11:50:04

标签: performance symfony caching memcached apc

我们在php 5.6中使用symfony2。

使用默认配置,我们可以缓存验证元数据:

framework:
    validation:
        cache: apc

我们如何在PHP 5.6中使用它并内置OpCache?

在默认的app.php中我们可以缓存类自动加载器:

if (extension_loaded('apc')) {
    $apcLoader = new ApcClassLoader('foo', $loader);
    $apcLoader->register(true);
}

如何使用Zend OpCache实现相同目标?我们尝试使用UniversalClassLoader,但如果这是正确的话,我们并不是真的。

在默认配置中,我们也可以使用apc来缓存doctrine元数据,dql等等:

doctrine:
    orm:
        metadata_cache_driver: apc
        result_cache_driver: apc
        query_cache_driver: apc

有没有办法用propel而不是Doctrine来缓存元数据,结果和查询内容?

1 个答案:

答案 0 :(得分:1)

最新PHP版本内置的Opcache并不能提供类似APC的用户存储 - 它只是用于字节码缓存。您可以安装ApcU以使用APC缓存驱动程序,但除此之外,您还要选择其他缓存机制。

对于ClassLoader来说,这不是一个很大的问题,因为它已经由Composer优化和Opcache处理,但对其他缓存很有用。