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.
<?phpheader('Content-Type: text/html; charset=utf-8');class onbellek{//PHPSTATE ÖNBELLEK SINIFIpublic $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 SORGUSUdie($onbellek->bosalt().' Temizlendi <a href="?" >Normali Göster</a>');}else{//SAYFA GÖSTERİMİ BAŞLATILIYORif ($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>';}?>