Code Igniter User Guide Version 1.5.2


Cache de Página

O Code Igniter permite que você cacheie suas páginas para atingir máxima performance. Mesmo o Code Igniter sendo bem rápido, a quantidade de informações dinâmicas que você mostra em suas páginas será igualada diretamente aos recursos do seu servidor, memória e ciclos de processamento utilizados, o que afetam a velocidade com que suas páginas são carregadas. Cacheando suas páginas, uma vez que elas são salvas em seu estado totalmente renderizado, você pode obter uma performance próxima a de uma página estática.

Como o cache funciona?

O cache pode ser habilitado página-a-página e você pode configurar a duração do tempo que a página deve permanecer cacheada antes de ser atualizada. Quando uma página é carregada pela primeira vez, o arquivo de cache será escrito em seu diretório system/cache. Nos carregamentos subsequentes, o arquivo de cache será buscado e enviado ao browser que o requisitou. Se ele houver expirado, será apagado e atualizado antes de ser enviado ao browser.

Note: a tag de Benchmark não é cacheada, por isso você ainda poderá ver sua velocidade de carregamento mesmo com o cache habilitado.

Habilitando o Cache

Para habilitá-lo, coloque a seguinte tag em qualquer uma de suas funções controller:

$this->output->cache(n);

Onde n é o número de minutos que você deseja que a página permaneça cacheada entre as atualizações.

A tag acima pode ser colocada em qualquer lugar dentro da função. Ela não é afetada pela ordem em que aparece, por iso coloque-o onde for mais lógico para você. Uma vez que a tag esteja no lugar, suas páginas passarão a ser cacheadas.

Note: Antes dos arquivos de cache poderem ser escritos, você deve configurar as permissões de escrita em seu diretório system/cache. (666 é geralmente apropriado).

Apagando Caches

Se você não mais deseja cachear um arquivo, pode remover a tag de cache e ele não mais será atualizado quando expirar. Note: Remover a tag não irá apagar o cache imediatamente. Ele irá expirar normalmente. Se você precisa removê-lo antes disto, precisará apagá-lo manualmente de seu diretório.