Ana Sayfa
Ana Sayfa Forumlar Dosyalar Dersler iletisim
 
   Kategoriler
ACPI [0]
Action Script [5]
Ajax [7]
ASP [12]
ASP.NET [23]
Assembly [3]
Bash [1]
C [4]
C# [9]
C++ [10]
Cobol [1]
Delphi [31]
Flash [5]
Html [9]
JAVA [36]
Java Script [12]
JSF [2]
Jsp [6]
Lua [1]
Matlab [2]
MySQL [30]
Oracle [1]
Pascal [31]
Perl [4]
Photoshop [2]
PHP [156]
Python [8]
REXX [6]
Ruby [1]
SEO [5]
Visual Basic [37]
PHP / php ile cache sistemi
php ile cache sistemi
Yazar: SahinBey
Eklenme: 28/06/08    Okunma: 133    
 
 

Neden Cache Sistemi Kullanmalıyım ?
Siteniz hit aldığında sunucuda sorunlar çıkardığı zaman

Mysql overload olduğunda
Cpu kullanımı arttığında
Host Bulamaz Hale Geldiğinizde
Yada kendi sunucunuz olsa dahi sitenize girmeye
korktuğunuzda ( ya ben siteye girince sunucu çökerse dediğinizde)
İşte cache sistemindeki amacımız kaynak tüketimini en aza indirmek

Yukarda saydıgım durumların en feci olanı mysql sunucu özellikleri düşük ise

Siteyi 4 5 defa yenileyince mysql tavan yapıyor O hiç sevmediğin olay Olur

Databaseye Bağlanamadım

Konu fazla uzadı sanırım r10 da açılan konuda hakimi arkadaşımız

Burada basit bir cache betiği yayınlamış

yazmış olduğu betikte ufak bi güvenlik açığı vardı biraz düzenledim betiği

Betik 2 Kısımdan Oluşuyor birinci kısım sayfanın en üstüne yazılacak kısmı

2 kısım ise sayfanın en altına yazılacak kısmı

Aşşağıdaki kısmı sayfanın en üstüne yazılacak kısmı


 Kod Çizelgesi     Kod Dili: php
<?
$filename 
"%%-".md5($_SERVER['REQUEST_URI'])."-%%.html";
$cachefile "cache/".$filename;
$cachetime 60 60// Cache Süresi
if (file_exists($cachefile))
{
if(
time() - $cachetime filemtime($cachefile))
{
readfile($cachefile);
exit;
}
else
{
unlink($cachefile);
}
}
ob_start();
?>





Aşşağıdaki kısmı isi sayfanın en altına yazılacak kısmı


 Kod Çizelgesi     Kod Dili: php
<?
$fp 
fopen($cachefile'w+');
fwrite($fpob_get_contents());
fclose($fp);
ob_end_flush();
?>




Temel Olarak Betiğin Ne işlev gördüğünü açıklıyayım basit Bir şekilde

Herhangi bir ziyaretçi sitemizi ziyaret etti örnek verecek olursak

http://www.sitemiz.com/mysql-php-ajax.html

cache betiği url yi alıyor ve isimini md5 liyor ve $cachefile diye bir değişkene atıyor

ve daha sonra sayfanın en altına eklediğimiz


 Kod Çizelgesi     Kod Dili: php
$fp = fopen($cachefile, 'w+');

fwrite($fp, ob_get_contents());

fclose($fp);

ob_end_flush(); 



Php Kodları $cachefile dosyasını yazılabilir şekilde açıyor ve sayfa içeriğini

yazıyor Tekrar Bir ziyaretçi

http://www.sitemiz.com/mysql-php-ajax.html

yazıp sitemizi ziyaret ettiğinde üstü yazdığımız php kodları devreye giriyor


 Kod Çizelgesi     Kod Dili: php
if(time() - $cachetime < filemtime($cachefile))

{

readfile($cachefile);

exit;




Şimdiki zaman ile dosya zamanı arasındaki fark cache süresinden kücük ise readfile

ile daha önce kaydetmiş olduğumuz html dosyasını ziyaretciye gösteriyor

Bizim burdaki Kazancımız sitemize giren 2. ziyaretci izin mysql sorguları php sorguları yerine

daha önce kaydetmiş olduğumuz html dosyasını gösterdik ve kaynaktan tasarruf ettik

Umarım Anlatabilmişimdir unutmadan cache süresini $cachetime değişerek kendinize göre ayarlayabilirsiniz


Taglar: PHP De ereg ve eregi soundex fonksiyonu - php 10 Dk da Php Site Yap 32-bit sifreleme algoritmasi array_count_values komutuna giris Array_map komutu ile devasa kolayliklar Baska Hosttan Sunucuya Dosya Yukleme Belirledigimiz Suredeki Verileri Listelemek charset & encoding problemleri COOKIE Tanimlama Bilgisi nedir ctype_alpha ve ctype_alnum Fonksiyonu Degisken Nedir Nasil Kullanilir Degiskenler Dizi Degiskenler, Tek ve Cok Boyutlu Diziler dowhile dongusu Dosya Kontrolleri Dosya konumu file Path ve konum ayristirma URL Parsing ffmpeg-php api dokumentasyon for dongusu foreach dongusu Formdan Bilgi Alma Get Methodu Ile Profil Sistemi Yapalim GZIP Kutuphanesi ile Daha Hizli Sayfalar Htaccess Ile Korumali Sayfalar Olusturmak htmlentities Fonksiyonu

Isminiz:
E-mail adresiniz:
Güvenlik Kodu:
  
 

 

   Görsel Dersler
Asp [59]
Asp.Net [5]
Csharp [33]
Delphi [85]
Delphi 7 [0]
Dreamweaver [45]
DW ile ASP Uygulamaları [28]
English Lessons [52]
Fireworks [4]
Flash [16]
HTML [20]
Java Script [0]
MS Access [19]
MS FrontPage [11]
Photoshop [32]
PHP [99]
Python [3]
SolidWorks [25]
Think Design [26]
VB Script [32]
Vb.Net [37]
Visual Basic [4]
   Giriş Yap
Kullanici Adi

Sifre

Üye Ol
   Dosyalar
WestByte SeaWar
Google Talk
Graphic Converter 2003
ShowImg
Zen Puzzle Garden
Maxthon (MyIE2) Türkçe Yama
Awicons Standart
AKINSOFT Kurs Otomasyonu
AKINSOFT AsPing
DVD Santa
   Duyurular
Duyuru1
Duyuru2
   Haberler
Haber1
Haber2
Ana Sayfa Php Nuke Resmi Web Sitesi
Php Nuke Tema Tasarim Sitesi Php Nuke Tema Tasarim Sitesi
Ana Sayfa Forumlar Dosyalar Hesabiniz iletisim
Tema Tasarim : Halil Ibrahim Kalkan webmaster forumu Web Stats