PHP

PHP Önbellekleme Sınıfı

PHP projelerinde, disk üzerinde önbellekleme ihtiyaçları gidermek için bir PHP önbellekleme sınıfı hazırlamıştım.  Performans sorunlarını genel olarak çözüm sağlayan ve basit bir yapıya sahip.

İhtiyaç doğrultusunda geliştirerek Memcache‘i dahil edebilir ve önbellekleme ile ilgili işlemleri tek sınıf üzerinden yönetebilirsiniz. Belki, ilerleyen zamanlarda sınıfa Memcache’i dahil edebilirim.

Önbellekleme sınıfını projeye dahil etmek:

require_once 'Caching.php';
$cachePath = __DIR__  . '/cache/';
$caching = new Caching($cachePath);

Önbelleğe veri atamak:

$languages = ["Türkçe","İngilizce","Almanca"];
$caching->setCache('languages', $languages, 60);

Önbellekten veri almak:

$languages = $caching->getCache('languages');

Önbellekten veri silmek:

$caching->delCache('languages');

Bir SQL sorgusundan dönen yanıtı depolamak ve sonuca göre işlem yaptırmak:

$results = $caching->getCache('books');
if (!$results) {
// SQL sorgusunu blok içerisinde kullanın.
$caching->setCache('books', $results, 60);
}
var_dump($results);

Önbelleğe veri ataması yaparken ilk parametreye isim, ikinci parametreye önbelleğe alınacak verinin değişkeni, üçüncü parametreye dakika cinsinde süre belirlemeniz gerekiyor. Veri alma ve veri silme işlemlerinde ise önbelleğe veri ataması yaparken kullandığınız ismi yazıyorsunuz.

getCache metodu önbellek dosyasını bulamazsa false yanıtını döndürmektedir. Sonuncu örnekteki gibi bir kullanım; veritabanından veya bir API’dan gelmesi beklenen yanıtın, disk üzerinde önbellek kontrolü yapılarak, metodun sonucuna göre diskten ya da veritabanı veya API’dan veri alınmasını sağlar.

Sınıfın __construct metodunu standart PHP projelerine göre hazırladım. CodeIgniter, SlimPHP gibi framework’ler ile çalışıyorsanız düzenlemeniz gerekir.

Bu önbellekleme sınıfını git komutuyla çalışma alanına çekebilirsiniz.

git clone https://github.com/gurkanbicer/PHP-Caching.git

Veya dosyayı Github aracılığıyla indirebilirsiniz.

Github'tan İndir

Herhangi bir hata ile karşılaşmanız durumunda yorum alanını veya iletişim sayfasını kullanarak bana ulaşabilirsiniz.

Yazar Hakkında

Gürkan Biçer

Gürkan Biçer

PHP Developer, Network & System Administrator

Yorum Yazın