CodeIgniter - Sayfa Önbelleğe Alma

Bir sayfanın önbelleğe alınması, sayfa yükleme hızını artıracaktır. Sayfa önbelleğe alınmışsa, tam olarak oluşturulmuş durumunda saklanacaktır. Bir dahaki sefere, sunucu önbelleğe alınmış sayfa için bir istek aldığında, doğrudan istenen tarayıcıya gönderilecektir.

Önbelleğe alınan dosyalar şurada saklanır: application/cacheKlasör. Önbelleğe alma, sayfa bazında etkinleştirilebilir. Önbelleği etkinleştirirken, önbelleğe alınmış klasörde kalması gereken zamanı ayarlamamız gerekir ve bu süreden sonra otomatik olarak silinir.

Önbelleğe Almayı Etkinleştir

Önbelleğe alma, denetleyicinin yöntemlerinden herhangi birinde aşağıdaki satırı çalıştırarak etkinleştirilebilir.

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

Nerede $n sayısı minutes, sayfanın yenilemeler arasında önbelleğe alınmasını istiyorsunuz.

Önbelleğe Almayı Devre Dışı Bırak

Önbellek dosyası süresi dolduğunda silinir, ancak manuel olarak silmek istediğinizde devre dışı bırakmanız gerekir. Aşağıdaki satırı uygulayarak önbelleğe almayı devre dışı bırakabilirsiniz.

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

Misal

Adlı bir denetleyici oluşturun Cache_controller.php ve içine kaydet 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'); 
      } 
   } 
?>

Adlı bir görünüm dosyası oluşturun test.php ve içine kaydet 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>

Değiştir routes.php dosyasında application/config/routes.php Yukarıdaki denetleyici için yol eklemek ve aşağıdaki satırı dosyanın sonuna eklemek için.

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

Örneği yürütmek için tarayıcıya aşağıdaki URL'yi yazın.

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

Yukarıdaki URL'yi ziyaret ettikten sonra, bunun için bir önbellek dosyasının oluşturulacağını göreceksiniz. application/cacheKlasör. Dosyayı silmek için aşağıdaki URL'yi ziyaret edin.

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