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
visa demonstrar os conceitos básicos de: • Opcodes PHP • Quando é vantagem usar Cache • Caching de conteúdo • Caching de Recordsets • Ferramentas para caching
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
• É 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
• É 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.
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
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.
$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';