Mostrando postagens com marcador cache. Mostrar todas as postagens
Mostrando postagens com marcador cache. Mostrar todas as postagens

07 fevereiro 2009

Ben Balbo: Invista em cache de informações

Ben Balbo está escrevendo para o Site Point, um site de tutoriais pare desenvolvedores e designers. Ele faz parte do comitê do Grupo de Usuários de PHP de Melbourne e do Clube de Desenvolvedores de Software Livre. Não é surpresa que ele recomende que um maior tempo seja gasto com cache no PHP.

"Se você tem um site que é predominantemente estático, como um blog, que é administrado por um sistema gerenciador de conteúdo, este terá pequenas alterações apenas, e com um pequeno tempo adicional gasto, é possível ter grandes benefícios de aumento de performance. Utilizar cache para sites mais complexos que geram conteúdo baseado no usuário, como um portal ou um comércio virtual, será um pouco mais complicado, porém os benefícios ainda serão claros"


Há várias técnicas de cache no PHP.
- Chamadas de funções com cache
- Setar cabeçalhos com data de expiração
- Utilizar cache em downloads no Internet Explorer
- Cache através de sistemas de template
- Cache_Lite
e muitos outros. Por causa da natureza dinâmica de linguagens como o PHP, cache é um ponto crítico para guardar aquelas partes da página que são acessadas frequentemente porém não são atualizadas sempre.

Obs.: Este post é o quarto de uma série que mostra dicas de desenvolvimento pelos mestres do PHP. O post original em inglês foi feito pelo Glen Stansberry e pode ser visto clicando aqui

15 janeiro 2009

Caching de uma forma simples e eficaz com PHP

Todos sabemos da grande importância de se utilizar técnicas de caching em sistemas com grande quantidade de acessos. Porém, por ter que utilizar ferramentas para realizar tal trabalho, muitos desenvolvedores acabam ignorando essa prática.

Para quem não quer utilizar nenhuma ferramenta, e ainda assim dispor de um caching eficaz, há uma técnica daquelas que quando vemos, imaginamos: "Como não pensei nisso antes".

Batizada de "Maneira Rasmus Lerdorf de se fazer cache", na verdade ela foi criada por Stig Bakken, um grande contribuidor do PEAR, e é eficaz pois gera arquivos HTML e salva no servidor, evitando que o PHP seja acionado em cada requisição.

A técnica funciona da seguinte maneira:

1 - É feita uma alteração no apache(ou arquivo htaccess) para que a página de erro 404(File not found) seja redirecionada para um arquivo php.
2 - Esse arquivo php vai receber todas as requisições que teriam como resposta o erro 404. Nele é feito um tratamento no qual o php vai gerar uma página html com o nome que o usuário tentou acessar, ou seja, para cada item do sistema, esse arquivo será gerado somente uma vez.
3 - Um arquivo é criado para apagar os arquivos HTML de tempos em tempos para que as informações sejam atualizadas.

Ou seja, o usuário acessa o arquivo noticia01.html, como o arquivo não existe, a requisição será redirecionada para o arquivo php.
Este por sua vez vai acessar o arquivo que gera o conteúdo e salvar o HTML com nome noticia01.html.
A partir disso, todos os usuários que tentarem acessar o noticia01.html, não mais terão o fluxo direcionado para o PHP, pois o arquivo html existe. Então não haverá perca de tempo com processamento.
Para manter as informações atualizadas, é possível criar um arquivo php que irá gerenciar os arquivos HTML, excluindo-os de tempo em tempo.

Um exemplo de como utilizar essa técnica pode ser visto em um artigo de Felipe Ribeiro no IMasters

Obrigado ao Bruno Porkaria pela dica!

Em tempo, para que não faz a mínima ideia do que seja Cache, Wikipédia