Basit ve kullanisli bir cache sistemi. Mysql den aldığınız bilgileri normal bir şekilde ekrana yazdırmak yerine, bu betik ile yazdırıyorsunuz. Öncelikle veri sayfada görüntüleniyor ve tabloya kaydediliyor. Daha sonra sayfa yenilendiğinde verinin mysql de bulunup bulunmadığını kontrol ediyor. Eger tabloda bulunuyorsa, bunu ekrana yazdiriyor. Ve belirlediginiz süre icerisinde sayfa yenilendikten sonra icerigi yeniliyor, böylece her sayfa yenilendiginde yeniden sorgu yapmaniza gerek kalmiyor.
Sql dökümü:
CREATE TABLE IF NOT EXISTS `krip_cache` (
`cache_baslik` varchar(16) NOT NULL,
`cache_icerik` text NOT NULL,
`cache_son` varchar(16) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
Fonksiyon:
function krip_cache($icerik,$zaman,$baslik)
{
$sql = mysql_query("SELECT * FROM krip_cache WHERE cache_baslik='".$baslik."'");
$kontrol=mysql_num_rows($sql);
$a = time()+$zaman;
if ($kontrol > 0)
{
$yaz = mysql_fetch_array($sql);
if (time() < $yaz['cache_son'])
{
$krip = unserialize($yaz['cache_icerik']);
}
else
{
mysql_query("UPDATE krip_cache SET cache_icerik='".mysql_real_escape_string(serialize($icerik))."', cache_son='$a' WHERE cache_baslik='".$baslik."'");
$krip = unserialize($yaz['cache_icerik']);
}
}
else
{
$z = time()+$zaman;
mysql_query("INSERT INTO krip_cache SET cache_son=".$z.",cache_baslik='".$baslik."',cache_icerik='".mysql_real_escape_string(serialize($icerik))."'");
$krip = $icerik;
}
echo $krip;
}Örnek:
$sql = mysql_query("SELECT * FROM tablo");
$yaz = mysql_fetch_array($sql);
// echo $yaz['tablo_veri'];
krip_cache($yaz['tablo_veri'],3600,"tablo1");Makalenin orjinal adresi:
http://www.kript0.com/makale4-php-il...mi-yapimi.html