CodeIgniter - Cache de Página

Armazenar uma página em cache melhorará a velocidade de carregamento da página. Se a página for armazenada em cache, ela será armazenada em seu estado totalmente renderizado. Da próxima vez, quando o servidor receber uma solicitação para a página em cache, ela será enviada diretamente para o navegador solicitado.

Os arquivos em cache são armazenados em application/cachepasta. O cache pode ser habilitado por página. Ao habilitar o cache, precisamos definir o tempo, até o qual ele precisa permanecer na pasta em cache e após esse período, será excluído automaticamente.

Habilitar Cache

O cache pode ser habilitado executando a seguinte linha em qualquer método do controlador.

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

Onde $n é o número de minutes, você deseja que a página permaneça em cache entre as atualizações.

Desativar cache

O arquivo de cache é excluído quando expira, mas quando você deseja excluí-lo manualmente, é necessário desativá-lo. Você pode desabilitar o cache executando a seguinte linha.

// Deletes cache for the currently requested URI 
$this->output->delete_cache();
  
// Deletes cache for /foo/bar 
$this->output->delete_cache('/foo/bar');

Exemplo

Crie um controlador chamado Cache_controller.php e salve em application/controller/Cache_controller.php

<?php 
   class Cache_controller extends CI_Controller { 
	
      public function index() { 
         $this->output->cache(1); 
         $this->load->view('test'); 
      }
		
      public function delete_file_cache() { 
         $this->output->delete_cache('cachecontroller'); 
      } 
   } 
?>

Crie um arquivo de visualização chamado test.php e salve em application/views/test.php

<!DOCTYPE html> 
<html lang = "en">
 
   <head> 
      <meta charset = "utf-8"> 
      <title>CodeIgniter View Example</title> 
   </head>
	
   <body> 
      CodeIgniter View Example 
   </body>
	
</html>

Mudar o routes.php arquivo em application/config/routes.php para adicionar rota para o controlador acima e adicionar a seguinte linha no final do arquivo.

$route['cachecontroller'] = 'Cache_controller'; 
$route['cachecontroller/delete'] = 'Cache_controller/delete_file_cache';

Digite a seguinte URL no navegador para executar o exemplo.

http://yoursite.com/index.php/cachecontroller

Depois de visitar o URL acima, você verá que um arquivo de cache para isso será criado em application/cachepasta. Para excluir o arquivo, visite o seguinte URL.

http://yoursite.com/index.php/cachecontroller/delete