Como verificar se o cache está funcionando na página atual?
9
Alguns módulos desativam silenciosamente o cache em determinadas páginas. Como é a maneira mais fácil de verificar se esse é o caso e também identificar o módulo problemático?
Com o cache Boost, é simples, há um comentário em html na parte inferior da página. com outros caches, é um pouco mais interessante.
Mołot 30/09
@ Mołot Estou interessado principalmente no cache padrão do Drupal, mas as instruções para outros caches também são apreciadas.
user11153
Respostas:
13
A maneira mais fácil é provavelmente inspecionar os cabeçalhos de resposta HTTP.
Por exemplo, com a ferramenta de inspeção do DOM do navegador (por exemplo , guia "Rede" do Chrome )
Falta de cache
Aqui estão alguns exemplos de cabeçalhos de resposta do drupal.org mostrando uma falta de cache. Nesse caso, usando Varnish, o cache principal do Drupal também define cabeçalhos semelhantes.
Acerto no cache
Aqui está um que mostra um hit de cache padrão do Drupal:
Mas o Drupal.org está por trás do Varnish, não é? Não consigo ver os cabeçalhos do X-Cache no meu Drupal acessados diretamente. Ou faria se a página com a qual estou testando fosse armazenável em cache?
Mołot 30/09
@ Mołot Eu posso ver os cabeçalhos do verniz se estiver desconectado.
Letharion
Para o meu site Drupal 7, de fato, vejo o cabeçalho, X-Drupal-Cache: HITmas no meu site Drupal 6 não vejo nada. Poderia ser removido por proxy reverso?
user11153
@ user11153 sim, o D6 não parece definir o cabeçalho HTTP X-Drupal-Cache lá. No entanto D7 faz isso de_drupal_bootstrap_page_cache
David Thomas
@DavidThomas Então, o que verifica o status do cache no Drupal 6? Existem alternativas? E obrigado pelas instruções para D7.
user11153
0
Adicionando cabeçalhos de cache ao cache padrão do Drupal 6
Infelizmente, isso envolve alguns hackers principais.
No arquivo, includes/bootstrap.incaltere as linhas de
// If there is a cached page, display it.if($cache){
drupal_page_cache_header($cache);// If the skipping of the bootstrap hooks is not enforced, call hook_exit.if($cache_mode != CACHE_AGGRESSIVE){
bootstrap_invoke_all('exit');}// We are done.exit;}// Prepare for non-cached page workflow.
drupal_page_header();break;
para
// If there is a cached page, display it.if($cache){
header('X-Drupal-Cache: HIT');
drupal_page_cache_header($cache);// If the skipping of the bootstrap hooks is not enforced, call hook_exit.if($cache_mode != CACHE_AGGRESSIVE){
bootstrap_invoke_all('exit');}// We are done.exit;}// Prepare for non-cached page workflow.
header('X-Drupal-Cache: MISS');
drupal_page_header();break;
Respostas:
A maneira mais fácil é provavelmente inspecionar os cabeçalhos de resposta HTTP.
Por exemplo, com a ferramenta de inspeção do DOM do navegador (por exemplo , guia "Rede" do Chrome )
Falta de cache
Aqui estão alguns exemplos de cabeçalhos de resposta do drupal.org mostrando uma falta de cache. Nesse caso, usando Varnish, o cache principal do Drupal também define cabeçalhos semelhantes.
Acerto no cache
Aqui está um que mostra um hit de cache padrão do Drupal:
fonte
X-Drupal-Cache: HIT
mas no meu site Drupal 6 não vejo nada. Poderia ser removido por proxy reverso?_drupal_bootstrap_page_cache
Adicionando cabeçalhos de cache ao cache padrão do Drupal 6
Infelizmente, isso envolve alguns hackers principais.
No arquivo,
includes/bootstrap.inc
altere as linhas depara
e o restante das instruções é exatamente como na resposta de David .
fonte