CodeIgniter - Caching delle pagine

La memorizzazione nella cache di una pagina migliorerà la velocità di caricamento della pagina. Se la pagina è memorizzata nella cache, verrà archiviata nello stato di rendering completo. La prossima volta, quando il server riceve una richiesta per la pagina memorizzata nella cache, verrà inviata direttamente al browser richiesto.

I file memorizzati nella cache vengono archiviati in application/cachecartella. La memorizzazione nella cache può essere abilitata in base alla pagina. Durante l'abilitazione della cache, dobbiamo impostare il tempo, fino al quale deve rimanere nella cartella cache e dopo quel periodo, verrà cancellato automaticamente.

Abilita la memorizzazione nella cache

La memorizzazione nella cache può essere abilitata eseguendo la riga seguente in uno qualsiasi dei metodi del controller.

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

Dove $n è il numero di minutes, desideri che la pagina rimanga memorizzata nella cache tra gli aggiornamenti.

Disabilita la cache

Il file cache viene eliminato quando scade ma quando si desidera eliminarlo manualmente, è necessario disabilitarlo. È possibile disabilitare la memorizzazione nella cache eseguendo la riga seguente.

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

Esempio

Crea un controller chiamato Cache_controller.php e salvalo in 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'); 
      } 
   } 
?>

Crea un file di visualizzazione chiamato test.php e salvalo in 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>

Cambiare il routes.php file in formato application/config/routes.php per aggiungere il percorso per il controller di cui sopra e aggiungere la riga seguente alla fine del file.

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

Digita il seguente URL nel browser per eseguire l'esempio.

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

Dopo aver visitato l'URL sopra, vedrai che verrà creato un file di cache per questo application/cachecartella. Per eliminare il file, visitare il seguente URL.

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