ezSQL - Mysql class ını kullanırsınız herşeyi otomatik yapar )

//Bağlantı ve diğer ayarları yaptığınızı var sayıyorum
$db->cache_timeout = 5; //1 * saat olarak değerlendirilir buradaki zaman 5 saat
$db->cache_dir = 'sql_keyc_klasorun';/*sql keyc :) cache klasörünün ismi cache klasörün chmod ayarının 755 olması kafi*/
$db->use_disk_cache = true;//disk üzerine cache'i yaz
$db->cache_queries = trule;//sorguları cache'e al
$kategoriler=$db->mysql_results("select * from kategoriler order by id DESC ");
foreach($kategorile as $cikti){
echo "falanca işlemler";
}

//şayet cache almak istemediğin birimleri ise 
$db->use_disk_cache = false;
$db->cache_queries = false;
//sorgu ve işlemlerin şeklinde yaptığında buranın altını cache almaz ;) en sağlıklı sistemlerden biridir