1

アプリケーションがページを正しくキャッシュしていることを確認しようとしています。コントローラーに次のコードがあります

//...in controller
$response = $this->render('FrontBundle:Page:index.html.twig', $data);
$response->setPublic();
$response->setMaxAge(600);
$response->setSharedMaxAge(600);
//this appears only on the first page load
echo 'this was not cached';
return $response;

初めてページをロードすると、これがキャッシュされていないことがわかります。その後のすべての更新ではこのメッセージが表示されないため、キャッシュがヒットしていると確信しています。

ただし、ログファイルを表示すると、すべてのリクエストで次のようなものが表示されます

[11-Apr-2013 UTC] GET /_wdt/462e0da5f0afdfb7ad62760f48e41429e2b86fbd: miss

hit最初のページの読み込み後に が表示されるべきではありませんか?

ここに見られるように app_dev.php で使用しているコードは次のとおりです

$kernel = new AppKernel('dev', true);
$kernel->loadClassCache();
$kernel = new AppCache($kernel);
$request = Request::createFromGlobals();
$response = $kernel->handle($request);
$response->send();
$kernel->terminate($request, $response);
error_log($kernel->getLog());
4

1 に答える 1

0

最初のページの読み込み後にヒットが表示されるべきではありませんか?

/_wdtその URL へのリクエストはSymfony の Web Debug Toolbarリクエストであり、キャッシュされることはありません。あなたはdev環境にいるので、それらを見ているだけです。

また、キャッシュから提供されるリクエストは次のようになりますGET /some_page: fresh

于 2013-12-11T00:21:59.533 に答える