Bir siteniz var. Hitiniz çok yüksek. Sunucunuz iyi değil veya yetmiyor. O zaman imdadınıza cache yetişecektir. Cache ile (adından da anlaşılacağı üzere) sisteminizde sayfaları önceden kaydedip, gelen ziyaretçilere kaydedilmiş sayfayı göstererek, mysql sorgu, cpu kullanımınızı azaltabilirsiniz. Bu işlem php ile sanıldığı kadar zor değildir. Bu işlemi kendi yöntemimle değil, internette okuduğum bir makelenin kodlarıyla sizlere anlatmaya çalışacağım. (Benimki biraz karışık
)
<?$filename = "%%-".md5($_SERVER['REQUEST_URI'])."-%%.html";$cachefile = "cache/".$filename;$cachetime = 3 * 60 * 60; // Cache Süresiif (file_exists($cachefile)){if(time() - $cachetime < filemtime($cachefile)){readfile($cachefile);exit;}else{unlink($cachefile);}}ob_start();?>
<?$fp = fopen($cachefile, 'w+');fwrite($fp, ob_get_contents());fclose($fp);ob_end_flush();?>
- Cpu kullanımını azalttık
- Mysql sorgu sayımızı azaltık
Yararlandığım kaynak : Burası
sistem güzel fakat güvenlik kodu olan sayfalarımda sorun oluyor haliyle
bunu nasıl aşabiliriz ki?
Güvenlik kodunu nasıl ekrana bastırdığınız ve nasıl kontrol ettirdiğiniz önemli burada. Şayet session mysql cookie falan kullanıyorsanız mecburen yemeyecektir. Fakat formdan post ettirip değerlendiriyorsanız aynı güvenlik kodu cache süresi kadar durur tek sorun bu olacaktır. Güvenlik kodunun farklı olmasını istiyorsanız bu seferde js ile güvenlik kodu oluşturup ekrana bastırarak, form ile post ettirmeyi deneyiniz. Form kontrol alanında cache uygulamamanız gerekiyor
O kısımlarda da ajax kullanmak en mantıklısı gibi geliyor.