funmachine

Cache no CakePHP

Deixe um comentário

Sou um grande fã da framework CakePHP e tenho-na usado com sucesso em vários projetos. Apesar de ter uma arquitetura muito bem conseguida que beneficia um tempo de desenvolvimento muito curto, tal vantagem vem com o custo da performance da aplicação. Por isso, apesar de ser muito rápido e fácil desenvolver uma aplicação web com CakePHP, é sempre necessário estar atento para não infligir  facadas na performance durante a programação da aplicação, principalmente nas queries SQL. Além disso existem dicas genéricas para tornar os sites mais rápidos que obviamente também funcionam na framework CakePHP. A própria framework vem com alguns componentes que permitem melhorar a performance da aplicação, que são simples de configurar e permitem facilmente e sem esforço melhorar a resposta da aplicação web. Uma dessas ferramentas é o Helper Cache. Este Helper permite, de uma forma fácil, fazer cache de views e layouts gerados. Sempre que o utilizador faz um pedido, se o layout/view já estiver em cache, o CakePHP envia a página automaticamente, sem necessidade de executar o código que gera a view/layout.

Para configurar este Helper temos que fazer o seguinte:

  • Em app/config/core.php, descomentar a seguinte linha:
Configure::write('Cache.check', true);
  • No controlador onde queremos activar a cache, devemos incluir o Cache Helper:
var helpers = array('Cache');
  • No controlador, definir quando tempo dura a cache (em segundos, ou usando o formato strtotime() ):
var $cacheAction = "1 hour";
  • Se quisermos definir tempos de duração diferentes para cada view (ou só activar a cache para algumas views), devemos configurar a linha anterior da seguinte forma:
var $cacheAction = array(
'view/23' => 21600,
'view/48' => 36000,
'view/52' => 48000
);
  • Se existirem áreas na view que não queremos usar cache, então colocamos essas áreas entre os seguintes blocos:
<cake:nocache> </cake:nocache>

E é tão simples como isto 😉 Para mais informações neste assunto podem consultar a documentação oficial.


Anúncios

Deixe uma Resposta

Preencha os seus detalhes abaixo ou clique num ícone para iniciar sessão:

Logótipo da WordPress.com

Está a comentar usando a sua conta WordPress.com Terminar Sessão / Alterar )

Imagem do Twitter

Está a comentar usando a sua conta Twitter Terminar Sessão / Alterar )

Facebook photo

Está a comentar usando a sua conta Facebook Terminar Sessão / Alterar )

Google+ photo

Está a comentar usando a sua conta Google+ Terminar Sessão / Alterar )

Connecting to %s