Diferença entre a vida útil mínima do cache e a expiração de páginas em cache


35

Na página Desempenho do Drupal, no cache do conjunto de campos, você tem duas opções. Um é o tempo de vida mínimo do cache e o outro é a expiração de páginas em cache.

insira a descrição da imagem aqui

Qual é a diferença entre esses dois.


Veja mais de perto a palavra "externa";)
Mołot

11
Eu meio que sei a resposta. Pensei em escrever uma resposta um pouco detalhada apenas para validar meu pensamento e esperar que isso pudesse ajudar os outros.
Gokul NK 22/08/13

Para obter uma resposta detalhada, verifique drupal.stackexchange.com/questions/83315/…
Gokul NK

Respostas:


39

Fiz as seguintes observações depois de passar algumas horas. Se houver lacunas ou erros, entre em contato. Ficarei feliz em fazer edições.

Primeiro observador de que nenhuma das opções do CACHING é interdependente. Se eles fossem, você os teria visto em diferentes conjuntos de campos (ou como campos dependentes). Faça uma anotação desta observação e a revisaremos mais tarde.

insira a descrição da imagem aqui

Vamos começar com a primeira opção Páginas de cache para usuários anônimos . insira a descrição da imagem aqui

Quando você marca essa opção, está basicamente dizendo ao Drupal

Ei, Beast, ouça, quando um usuário anônimo visita meu site,

  1. Armazene o HTML gerado na tabela de cache
  2. Para que eu possa exibir o mesmo resultado para todos os usuários, pois minhas páginas permanecem iguais para todos os usuários anônimos.
  3. E não limpe os caches da página até que eu diga limpar todos os caches.

Além disso, mesmo quando você não ativa a Cache Pages for anonymous users página, ainda pode ser armazenada em cache por sistemas de cache externos. Por exemplo: Boost

Agora vamos para as próximas opções que você usaria em geral.

Expiração de páginas em cache

insira a descrição da imagem aqui

  1. Observe que essa configuração não tem nada a ver com o banco de dados Drupal ou com as tabelas de cache.
  2. Leia a descrição The maximum time an external cache can use an old version of a page.Como Molot apontou, a palavra-chave é externa.
  3. Então, o que essa opção basicamente faz é definir o controle de cache do cabeçalho publice o valor máximo de idade no cabeçalho para o valor especificado (1 dia, neste caso).
  4. Esse cabeçalho informa aos externalsistemas de armazenamento em cache que não façam uma chamada ao servidor para esta página até a idade máxima, pois eles podem mostrar essa página a partir de seu próprio cache. Após a idade máxima, o sistema de Cache deve verificar novamente com o servidor Drupal para ver se o conteúdo foi alterado.

  5. Se for um servidor Varnish, ele não fará uma chamada para o Apache e retornará a página do cache. Portanto, suponha que o Varnish tenha armazenado em cache uma página e milhares de usuários diferentes fizeram uma solicitação para essa página. Isso significa que 1000 solicitações foram processadas sem atingir o Apache Server nem uma vez.

Tempo mínimo de vida útil do cache insira a descrição da imagem aqui

Se o seu site não tiver um tráfego intenso ou se você não tiver certeza de qual é esse valor, é melhor deixar esse valor como nenhum.

  1. Este valor não se aplica apenas às páginas. Mas todos os objetos de cache.
  2. O que esse valor diz é "Não há problema em servir objetos de cache obsoletos"
  3. No nosso caso, o valor é definido como 5 minutos.
  4. Se você possui uma página que lista os cinco blogs mais recentes em sua página inicial. O que os valores acima significam é que, se um novo blog for criado, é permitido que o blog não apareça na listagem pelos cinco minutos.
  5. Quando esse valor é definido, para que o cache seja atualizado / recriado no mínimo, esse tempo deve ter passado e uma ação de limpeza de cache deve ser executada [Uma função de limpeza de cache deve ser executada].

11
Obrigado por esta resposta. Estou um pouco confuso: para "Páginas de cache para usuários anônimos" , você diz que significa "não limpe os caches da página até que eu diga limpar todos os caches". O que esse "eu digo" representa? O que acionará o cache a ser limpo?
S427

11
@ s427, verifique drupal.stackexchange.com/questions/102976/… para obter detalhes sobre o que fará com que o cache seja limpo.
Gokul NK 03/04

11
O que eu achei interessante é que isso só é verdade se a opção "Páginas de cache para usuários anônimos" estiver ativada. Caso contrário, a alteração "Expiração de páginas em cache" não faz nada e a ativação de "Vida útil mínima do cache" define os cabeçalhos. Somente se o armazenamento em cache para usuários anônimos estiver ativado e SOMENTE ENTÃO "Expiração de páginas em cache" define cabeçalhos. Isto é um pouco confuso ...
Łukasz Zaroda

19

Este artigo apresenta um bom resumo da terminologia de cache do Drupal: http://www.phase2technology.com/blog/caching-in-drupal/

Resumo dos pontos relevantes:

A vida útil mínima do cache geralmente é mal interpretada, pois significa que "as páginas serão regeneradas após esse período de tempo". O que realmente significa é que as páginas não serão regeneradas até que pelo menos esse tempo tenha passado e que ocorra um evento de limpeza de cache.

Às vezes, a expiração de páginas em cache também é mal interpretada. Esse valor controla o que é enviado como um valor máximo de idade em um cabeçalho de Controle de cache e, portanto, aconselha os servidores proxy por quanto tempo eles podem servir a página sem solicitar uma nova cópia à instalação do Drupal. Isso não significa que a página será regenerada após muito tempo, apenas significa que o servidor proxy deve verificar novamente com o Drupal para ver se existe uma nova versão da página após esse período. O Drupal regenerará apenas uma página após um evento de limpeza de cache.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.