O Guia Definitivo do Yii 1.1
O Guia Definitivo do Yii 1.1
O Guia Definitivo do Yii 1.1
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.