Back-End

14 nov, 2013

Conhecendo o cache no Drupal

Publicidade

Tudo bem galera? Recentemente comecei um estudo sobre a API de Caching do Drupal e irei dividir com vocês o conhecimento adquirido. Irei criar uma sequência de artigos sobre esse assunto. Nesse primeiro será abordado a parte teórica da coisa, como por exemplo: conceito de cache; conhecendo o fluxo de cache para usuário anônimo e algumas funções que iremos utilizar no decorrer da nossa série.

Bom, sem mais delogas, vamos ao conceito desse negócio. Prometo que vai ser rapidinho e nem vai doer.

De acordo com nosso amigo Wikipédia temos a seguinte definição de cache:

“Na área da computação, cache é um dispositivo de acesso rápido, interno a um sistema, que serve de intermediário entre um operador de um processo e o dispositivo de armazenamento ao qual esse operador acede. A vantagem principal na utilização de um cache consiste em evitar o acesso ao dispositivo de armazenamento – que pode ser demorado, armazenando os dados em meios de acesso mais rápidos.”

Legal, mas e agora, o que isso quer dizer?

Quer dizer que sempre teremos um cara da geração Z mais imediatistas (um Browser ou qualquer outro cliente) solicitando informações para um outro cara da geração X menos apressado (BD ou sistema de arquivo). Opa, temos um problema! A demora na entrega dos dados.

Para resolver essa divergência entre requisição e entrega de dados, teremos um terceiro indivíduo. O cara da geração Y, que veio para facilitar o convívio entre esses dois extremos: consumidores de informação e provedores de informção.

Conseguiram capitar a ideia?

Ok, agora já temos uma certa noção sobre o assunto. Vamos então drupalizar a coisa. A imagem a seguir mostra o fluxo para carregar ou não uma página do cache, para usuários anônimos.

untitled_3
Imagem retirada e traduzida do Livro Pro Drupal 7 Development

No fluxograma acima, o arquivo settings.php é o primeiro a ser verificado. Nele podemos especificar alguns caches a serem utilizados, tais como:

  • Memcached
  • MongoDB
  • Redis
  • E outros manipuladores de cache.

Após verificar se o usuário está deslogado e se o cache está ativo, é feito o processo de Bootstrap e depois a página é carregada.

No processo acima o Bootstrap faz uma chamada na seguinte função_drupal_bootstrap_page_cache() que é onde acontece todo o processo do fluxograma.

Quanta teoria hein! Aguenta aí falta pouco.

Legal, conhecemos um pouco do processo de cache do Drupal. Agora veremos algumas funções de manipulação do cache.

Veremos outras funções e constantes que serão abordadas no decorrer dos nossos artigos. Utilizaremos as funções acima, a manipulação do cache com alguns módulos e cache de blocos e páginas.

Vvamos recapitular o que foi visto até o momento.

  • Conceito de cache. Com as gerações X,Y e Z.
  • Fluxo de cache para usuário anônimo. O Bootstrap chama a função_drupal_bootstrap_page_cache() onde é realizado o fluxo de cache.
  • Funções da API de Cache.

Bom galera, para não esticar muito o artigo, vamos finalizar por aqui. Espero que tenha agregado conhecimento a vocês. Qualquer dúvida, sugestão ou crítica é só deixar um comentário. Irei responder sem pestanejar.

Até o próximo! 😉