symfony2:如何在少数路由上有选择地禁用 APC 缓存

symfony2 : How to disable APC cache selectively on few routes

我正在使用 symfony 2.3 版。我在 config.yml

中使用了以下内容
metadata_cache_driver: apc
result_cache_driver: apc
query_cache_driver: apc

我想在 URL 之后禁用缓存。 www.domain.com/dashboard

我怎样才能做到这一点?任何帮助

在你的 app.phpindex.php 你应该有这样的东西:

$loader = require_once __DIR__.'/../app/bootstrap.php.cache';
$apcLoader = new ApcClassLoader(sha1(__FILE__), $loader);
$loader->unregister();
$apcLoader->register(true);

require_once __DIR__.'/../app/AppKernel.php';
require_once __DIR__.'/../app/AppCache.php';

$kernel = new AppKernel('prod', false);
$kernel->loadClassCache();
$kernel = new AppCache($kernel);

// ...

所以你可以有条件 $_SERVER['REQUEST_URI']

例如

$loader = require_once __DIR__.'/../app/bootstrap.php.cache';

require_once __DIR__.'/../app/AppKernel.php';

$kernel = new AppKernel('prod', false);
$kernel->loadClassCache();

if (!preg_match('#dashboard#'), $_SERVER['REQUEST_URI']) {
    $apcLoader = new ApcClassLoader(sha1(__FILE__), $loader);
    $loader->unregister();
    $apcLoader->register(true);

    require_once __DIR__.'/../app/AppCache.php';

    $kernel = new AppCache($kernel);
}

// ...

希望对您有所帮助