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.
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.
- cache_set() – é usada para armazenar dados persistentes no cache.
- cache_get() – Retorna dados persistidos no cache.
- cache_get_multiple() – Retorna os dados do cache persistido de acordo com os IDs informados.
- cache_clear_all() – Limpa os dados 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! 😉