Codeigniter’ın son sürümünde artık database cache özelliği var. İsterseniz kayıtları her seferinde veritabanından çekmek yerine bir dosyaya cache yapıp oradan okuyabiliyor. İşin kötü yanı dağıtık bir uygulamanız varsa her makine sadece kendi cache dosyalarına erişebilir. Bunun çözümü olarak; codeigniter’ın cache fonksiyonlarını, -istenirse- memcache sunucusuna da yazabilecek şekilde düzenledim.

ilk olarak  ./application/config/database.php dosyasına aşağıdaki ayarları ekleyelim ve $db[‘default’][‘cache_on’] = TRUE yapalım.

/* Memcache Eklentisi */
$db[‘default’][‘memcache’] = TRUE;
$db[‘default’][‘dbmchost’] = ‘localhost’;
$db[‘default’][‘dbmcport’] = 11211;
$db[‘default’][‘dbmctime’] = 2592000;

sonra ./system/database/DB_cache.php dosyasını buradaki dosya ile değiştirin (Her ihtimale karşı mevcut dosyayı yedekleyin). Artık veritabanınız memcache sunucusuna cache yapılıyor.

Not: Testleri Codeigniter 2.12 sürümünde yapılmıştır.