Her seferinde aynı içeriğe sahip olan sayfalarınızı önbellekleyerek hem veritabanınıza olan bağlantıları azaltır, hemde sayfaları daha hızlı yüklersiniz.
Cache çalışma mantığı php sayfalarınızı html olarak saklayıp, sonraki seferde html olarak görüntülemesidir.
<?php header('Content-Type: text/html; charset=utf-8'); class onbellek{//PHPSTATE ÖNBELLEK SINIFI public $zamanasimi=300; var $sorgu; var $dosya; var $soket; var $baslangic; var $bitis; function mikrosure(){ list($usure, $sure) = explode(" ",microtime()); return ((float)$usure + (float)$sure); } function kontrol(){ $this->baslangic=0; $this->bitis=0; $this->baslangic=$this->mikrosure(); if ($this->sorgu == ''){$this->soket = 1;return 1;} $this->dosya = $this->sorgu.'.onbellek'; if ((time()-@filemtime($this->dosya)) > $this->zamanasimi) { $this->soket = true; return true; }else { $this->soket = false; return false; } } function baslat(){ if ($this->soket) {@ob_start();} } function bitir(){ if ($this->soket){ $icerik = @ob_get_contents(); @ob_end_clean(); if ($f = @fopen($this->dosya, "wb")){ @fwrite($f, $icerik); @fclose($f); } echo $icerik; } } function icerik(){ @readfile($this->dosya); } function bosalt(){ @unlink($this->sorgu.'.onbellek'); return $this->sorgu.'.onbellek'; } function zaman(){ $this->bitis=$this->mikrosure(); if(($this->bitis - $this->baslangic) < 1){ return (($this->bitis - $this->baslangic)*1000)." milisaniye"; }else{ return ($this->bitis - $this->baslangic)." saniye"; } } } ////////////////ÖRNEK//////////////////////// $onbellek = new onbellek(); $onbellek->sorgu = '100000 test';//onbellek dosya adı if(isset($_GET["temizle"])){//TEMİZLEME SORGUSU die($onbellek->bosalt().' Temizlendi <a href="?" >Normali Göster</a>'); }else{//SAYFA GÖSTERİMİ BAŞLATILIYOR if ($onbellek->kontrol()){ echo "Önbellek Yok"."<br>"; $onbellek->baslat(); ?> <?php //PHP SAYFA KODLARIMIZIN BAŞLANGICI///////////////////////////////////////////////// for ($i=1; $i<100000; $i++) { echo $i.'-'; } //PHP SAYFA KODLARIMIZIN BİTİŞİ///////////////////////////////////////////////// ?> <?php $onbellek->bitir(); }else{ echo "Önbellek Var"."<br>"; $onbellek->icerik(); } echo '<hr /><br />'.$onbellek->sorgu.' Oluşturulma '.$onbellek->zaman().' <a href="?">Yenile</a> ya da <a href="?temizle=ok">Temizle</a>'; } ?>