entendendo conceitos caching com php

19
Entendendo os conceitos de caching em PHP Encontro Nacional Linuxchix Brasil Brasília – DF – Brasil Setembro – 2007 Adler Medrado

Upload: adler-medrado

Post on 11-Jun-2015

2.882 views

Category:

Technology


0 download

DESCRIPTION

Palestras ministrada no V Encontro Anual das LinuxChix. Entendendo os conceitos de Caching com PHP

TRANSCRIPT

Page 1: Entendendo Conceitos Caching com PHP

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

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

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

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

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

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

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

Entendendo os conceitos de caching em PHP

Caching de conteúdo – Sem cache

Page 9: Entendendo Conceitos Caching com PHP

Entendendo os conceitos de caching em PHP

Caching de conteúdo – Com cache

Page 10: Entendendo Conceitos Caching com PHP

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

Entendendo os conceitos de caching em PHP

Caching de Recordset

Page 12: Entendendo Conceitos Caching com PHP

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

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

Entendendo os conceitos de caching em PHP

APC – Alternative PHP Cache

Page 15: Entendendo Conceitos Caching com PHP

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

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

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

Entendendo os conceitos de caching em PHP

Perguntas?

Page 19: Entendendo Conceitos Caching com PHP

Entendendo os conceitos de caching em PHP

Obrigado!http://www.neshertech.nethttp://www.neshertech.net/adler