entendendo conceitos caching com php
DESCRIPTION
Palestras ministrada no V Encontro Anual das LinuxChix. Entendendo os conceitos de Caching com PHPTRANSCRIPT
![Page 1: Entendendo Conceitos Caching com PHP](https://reader034.vdocuments.site/reader034/viewer/2022042607/5579a58dd8b42ac1148b4a86/html5/thumbnails/1.jpg)
Entendendo os conceitos de caching em PHP
Encontro Nacional Linuxchix BrasilBrasília – DF – Brasil
Setembro – 2007
Adler Medrado
![Page 2: Entendendo Conceitos Caching com PHP](https://reader034.vdocuments.site/reader034/viewer/2022042607/5579a58dd8b42ac1148b4a86/html5/thumbnails/2.jpg)
Entendendo os conceitos de caching em PHP
Apresentação
● Desenvolvedor/Analista no MDIC● Consultor pela Nesher Technologies● Instrutor de PHP na X25 Treinamentos● Membro da coordenação do grupo de
usuários PHP do DF● Entusiasta de PHP e Software Livre
![Page 3: Entendendo Conceitos Caching com PHP](https://reader034.vdocuments.site/reader034/viewer/2022042607/5579a58dd8b42ac1148b4a86/html5/thumbnails/3.jpg)
Entendendo os conceitos de caching em PHP
Introdução
Esta palestra visa demonstrar os conceitos básicos de:
● Opcodes PHP● Quando é vantagem usar Cache● Caching de conteúdo● Caching de Recordsets● Ferramentas para caching
![Page 4: Entendendo Conceitos Caching com PHP](https://reader034.vdocuments.site/reader034/viewer/2022042607/5579a58dd8b42ac1148b4a86/html5/thumbnails/4.jpg)
Entendendo os conceitos de caching em PHP
Opcodes PHP
● Abreviação de Operation Code.● É um trecho de instrução a ser executada
pelo computador.● Linguagem de máquina● Resultado da conversão do código de
programação para linguagem de máquina● Linguagem de máquina é difícil e tediosa
para seres humanos desenvolverem diretamente
![Page 5: Entendendo Conceitos Caching com PHP](https://reader034.vdocuments.site/reader034/viewer/2022042607/5579a58dd8b42ac1148b4a86/html5/thumbnails/5.jpg)
Entendendo os conceitos de caching em PHP
Funcionamento do PHP sem uso de caching
INTERNETBROWSER SCRIPTPHP
FONTES DE DADOS
BANCODE
DADOS
DOCUMENTOXML
![Page 6: Entendendo Conceitos Caching com PHP](https://reader034.vdocuments.site/reader034/viewer/2022042607/5579a58dd8b42ac1148b4a86/html5/thumbnails/6.jpg)
Entendendo os conceitos de caching em PHP
Funcionamento do PHP sem uso de caching
INTERNETBROWSER SCRIPT
PHP
FONTES DE DADOS
BANCODE
DADOS
DOCUMENTOXML
Cache
![Page 7: Entendendo Conceitos Caching com PHP](https://reader034.vdocuments.site/reader034/viewer/2022042607/5579a58dd8b42ac1148b4a86/html5/thumbnails/7.jpg)
Entendendo os conceitos de caching em PHP
Caching de conteúdo
● É viável quando um determinado conteúdo não é modificado a todo instante. Não é viável para websites ou sistemas que possuem uma atualização de conteúdo muito constante.
● Exemplo:
– Website de notícias com cache que é atualizado a cada 10 minutos
![Page 8: Entendendo Conceitos Caching com PHP](https://reader034.vdocuments.site/reader034/viewer/2022042607/5579a58dd8b42ac1148b4a86/html5/thumbnails/8.jpg)
Entendendo os conceitos de caching em PHP
Caching de conteúdo – Sem cache
![Page 9: Entendendo Conceitos Caching com PHP](https://reader034.vdocuments.site/reader034/viewer/2022042607/5579a58dd8b42ac1148b4a86/html5/thumbnails/9.jpg)
Entendendo os conceitos de caching em PHP
Caching de conteúdo – Com cache
![Page 10: Entendendo Conceitos Caching com PHP](https://reader034.vdocuments.site/reader034/viewer/2022042607/5579a58dd8b42ac1148b4a86/html5/thumbnails/10.jpg)
Entendendo os conceitos de caching em PHP
Caching de Recordset
● É viável quando algumas áreas do seu site são muito dinâmicas e com isso o cache de conteúdo se torna inviável.
● Exemplo:
– O mesmo website de notícias utilizado anteriormente.
![Page 11: Entendendo Conceitos Caching com PHP](https://reader034.vdocuments.site/reader034/viewer/2022042607/5579a58dd8b42ac1148b4a86/html5/thumbnails/11.jpg)
Entendendo os conceitos de caching em PHP
Caching de Recordset
![Page 12: Entendendo Conceitos Caching com PHP](https://reader034.vdocuments.site/reader034/viewer/2022042607/5579a58dd8b42ac1148b4a86/html5/thumbnails/12.jpg)
Entendendo os conceitos de caching em PHP
APC – Alternative PHP Cache
● Extensão aberta, livre e robusta.● Visa prover um framework que permita
otimização de códigos PHP através de caching
● Instalável via PECL
– PHP Extension Community Library– http://pecl.php.net
![Page 13: Entendendo Conceitos Caching com PHP](https://reader034.vdocuments.site/reader034/viewer/2022042607/5579a58dd8b42ac1148b4a86/html5/thumbnails/13.jpg)
Entendendo os conceitos de caching em PHP
APC – Alternative PHP Cache
O APC é composto das seguintes funções:
●apc_add – Armazena variável no cache●apc_cache_info - Retorna dados armazenados pelo APC●apc_clear_cache – Limpa todo o cache●apc_define_constants – Define constantes para uso posterior●apc_delete – Remove uma variável guardada no cache●apc_fetch – Retorna variável gravaa no cache●apc_load_constants – Carrega um conjunto de constantes do cache●apc_sma_info – Retorna informações da memória compartilhada●apc_store – Armazena uma variável no cache
Exemplo:Mesmo website usado anteriormente.
![Page 14: Entendendo Conceitos Caching com PHP](https://reader034.vdocuments.site/reader034/viewer/2022042607/5579a58dd8b42ac1148b4a86/html5/thumbnails/14.jpg)
Entendendo os conceitos de caching em PHP
APC – Alternative PHP Cache
![Page 15: Entendendo Conceitos Caching com PHP](https://reader034.vdocuments.site/reader034/viewer/2022042607/5579a58dd8b42ac1148b4a86/html5/thumbnails/15.jpg)
Entendendo os conceitos de caching em PHP
Outras alternativas
● PHP Extension and Application Repository
– PEAR_Cache– PEAR_Cache_Lite
● Zend_Cache
– Simples Exemplo
![Page 16: Entendendo Conceitos Caching com PHP](https://reader034.vdocuments.site/reader034/viewer/2022042607/5579a58dd8b42ac1148b4a86/html5/thumbnails/16.jpg)
Entendendo os conceitos de caching em PHP
Outras alternativas
<?php$frontendOptions = array( 'lifetime' => 30, // tempo de vida do cache 'automatic_serialization' => false // valor default);
$backendOptions = array('cache_dir' => './tmp/');
$cache = Zend_Cache::factory('Output', 'File', $frontendOptions, $backendOptions);
if(!$cache->start('mypage')) {
echo 'Olá mundo! '; echo 'Foi criado o cache';
$cache->end(); // Salva o cache e manda pro browser}
echo 'Não foi criado cache';
![Page 17: Entendendo Conceitos Caching com PHP](https://reader034.vdocuments.site/reader034/viewer/2022042607/5579a58dd8b42ac1148b4a86/html5/thumbnails/17.jpg)
Entendendo os conceitos de caching em PHP
Outras alternativas
● eAccelerator - http://eaccelerator.net/● Zend Optimizer - http://www.zend.com● ionCube PHP Accelerator - http://www.ioncube.com
![Page 18: Entendendo Conceitos Caching com PHP](https://reader034.vdocuments.site/reader034/viewer/2022042607/5579a58dd8b42ac1148b4a86/html5/thumbnails/18.jpg)
Entendendo os conceitos de caching em PHP
Perguntas?
![Page 19: Entendendo Conceitos Caching com PHP](https://reader034.vdocuments.site/reader034/viewer/2022042607/5579a58dd8b42ac1148b4a86/html5/thumbnails/19.jpg)
Entendendo os conceitos de caching em PHP
Obrigado!http://www.neshertech.nethttp://www.neshertech.net/adler