20.11.2014 Views

O Guia Definitivo do Yii 1.1

O Guia Definitivo do Yii 1.1

O Guia Definitivo do Yii 1.1

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

• CZendDataCache: utiliza o Zend Data Cache como meio de armazenamento. Nota:<br />

esse componente está disponível a partir da versão 1.0.4.<br />

• CFileCache: utiliza arquivos para armazenar os da<strong>do</strong>s em cache. Esse méto<strong>do</strong> é<br />

particularmente útil para armazenar grandes quantidades de da<strong>do</strong>s em cache (por<br />

exemplo, páginas). Nota: esse componente está disponível a partir da versão 1.0.6.<br />

• CDummyCache: é um cache falso, que na realidade não realiza caching algum. A<br />

finalidade deste componente é simplificar o desenvolvimento de código que precisa<br />

trabalhar com da<strong>do</strong>s em cache. Por exemplo, durante o desenvolvimento ou quan<strong>do</strong><br />

o servi<strong>do</strong>r atual não tem suporte a cache, podemos utilizar esse componente. Assim,<br />

quan<strong>do</strong> o suporte a cache estiver disponível basta apenas trocar o componente. Em<br />

ambos os casos, podemos utilizar utilizar o <strong>Yii</strong>::app()->cache->get($key) para<br />

recuperar da<strong>do</strong>s <strong>do</strong> cache, sem se preocupar se <strong>Yii</strong>::app()->cache é null. Este<br />

componente está disponível a partir da versão 1.0.5;<br />

Dica: Como to<strong>do</strong>s os componentes de cache são deriva<strong>do</strong>s da classe CCache, você<br />

pode alterar entre diversos tipos de cache sem modificar o código que os utilizam.<br />

O caching pode ser utiliza<strong>do</strong> em diferentes níveis. No mais baixo nível, podemos utilizar<br />

cache para armazenar pequenos da<strong>do</strong>s, tal como uma variável. Chamamos isso de data<br />

caching (Caching de da<strong>do</strong>s). No próximo nível, podemos utiliza-lo para armazenar<br />

fragmentos de uma página que é gerada por uma visão. No nível mais alto, armazenamos<br />

toda a página no cache e a servimos de la, quan<strong>do</strong> necessário.<br />

Nas próximas subseções, falaremos mais sobre como utilizar o cache nesses níveis.<br />

Nota: Por definição, o cache é um meio de armazenamento volátil. Ele não garante a<br />

existência <strong>do</strong>s da<strong>do</strong>s em cache, mesmo que eles não expirem. Portanto, não utilize<br />

cache como um meio de armazenamento persistente (por exemplo, não o utilize para<br />

armazenar da<strong>do</strong>s da sessão.<br />

Data Caching (Caching de Da<strong>do</strong>s)<br />

O caching de da<strong>do</strong>s consiste em armazenar e recuperar variáveis PHP no cache. Para<br />

essa finalidade, a classe base CCache fornece <strong>do</strong>is méto<strong>do</strong>s que são utiliza<strong>do</strong>s na<br />

maioria <strong>do</strong>s casos: set() e get().<br />

Para armazenar a variável $value em cache, escolhemos um ID único e utilizamos o<br />

méto<strong>do</strong> set() para armazena-lo:<br />

<strong>Yii</strong>::app()->cache->set($id, $value);<br />

O da<strong>do</strong> armazena<strong>do</strong> ficará em cache para sempre, a não ser que ele seja elimina<strong>do</strong> por<br />

alguma regra de caching (por exemplo, o espaço para caching esteja cheio e, então, os<br />

da<strong>do</strong>s mais velhos são removi<strong>do</strong>s). Para alterar esse comportamento, ao executar o<br />

méto<strong>do</strong> set(), podemos especificar também um parâmetro de tempo de expiração, de<br />

forma a indicar que o da<strong>do</strong> deve ser removi<strong>do</strong> <strong>do</strong> cache depois de um certo perío<strong>do</strong> de<br />

tempo.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!