MMCache programin calismasini etkilemez.
Sayac calismasi gerektigi gibi calisir.
Daha once herhangi bir programlama dili ile ugrasti iseniz bilirsiniz:
+ Derleyici bazli programlar: Program yazildiktan sonra bir derleyici ile derlenir ve binary (executable) hale getirilir. Programda degisiklik yapmadikca bu programi tekrar derlemeye gerek yoktur. Ornek: C,C++,DELPHI..
+ Interpreter bazli programlar: Program yazildiktan sonra derlenemez. Her calistirildiginda interpreter(yorumlayici) tarafindan yorumlanir. Ornek: Perl, PHP ...
+ Birde bu ikisinin arasinda olanlar var onlar hakkinda fazla bilgim yok.
Bizim burda konustugunuz PHP interpreter tabanli programlar sinifina giriyor.
MMCache icin:
MMCache(yada benzeri program) kurulu degil ise, Her seferinde kod interpreter(php.exe yada shared pool daki PHP) tarafindan derlenip hazirlaniyor.
Bu islem her seferinde yapilacagina 1 kez yapilirsa CPU dan tasarruf ediliyor. MMcache iste bu 1 sefer derleme gorevini yapan program. Eger bu esnada PHP kodu degisirse MMCache kodu yeniden derliyor.
Dosya tabanli (file based) cache sistemi MMCache den farklidir.
"Yoktur" un verdigi kod yine CPU dan tasarruf saglaniyor, ama biraz farkli bir yontem ile. Bu sefer cache de tutulan html ciktisi. [ Cache denilen nesne aslinda bir directory(dizin) , cache icin ramdisk kullanilirsa performans daha iyi olur. ]
Ornegin iyinet in subdomainlerinin hepsi cache de tutulmaktadir. Her seferinde gidip veritabinindan bilgi okuyup o bilgiler ile tablo (table) olusturup HTML ciktisi hazirlamak yerine bu islem belli araliklar ile yapilmaktadir. Bu aralik degeri de "Yoktur" un kodundaki
$aralık = 60; // 5 dakika
satiri gibi bir degerdir. Boylece program sadece dosyanin zaman asimina bakar ve 5 dakidan eski ise cache deki dosyayi siler ve yerine yeni bir HTML dosyasi yaratir. 5 dakika burda cok mantikli gelmeyebilir. Bu tamamen sizin ihtiyaciniza gore ayarlanmalidir. Cok SIKLIKLA verilerin degisitigi bir sistemde 5 dakika yeterli iken, iyinet subdomainlerinde 1 hafta lik zaman asimi yeterli olabilir.