Cache (Ön Bellek) Kütüphanesi
Cache kütüphanesi, istenilen verilerin önbelleğe alınmasını ve belirlenen süre boyunca önbellekten okunmasını sağlar. Bu sayede sunucunun yüksek kaynak harcamasının önüne geçilir ve performans artar.
- Cache Ayarları
- Cache Dosyasını Belirleme » setFileName()
- Cache Verisi Oluşturma » save()
- Cache Verisi Okuma » read()
- Cache Verisi Kontrolü » isCached()
- Cache Verisi Silme » delete()
- Cache Verilerini Boşaltma » clear()
- Cache Kullanım Örneği
Cache Ayarları
Cache kütüphanesi ile ilgili ayarlar, /App/Config
dizini içerisindeki App.php
dosyasında bulunur. Dosya içerisinde return edilen dizi değişkendeki cache
anahtarına ait değerler, cache kütüphanesine aittir.
//--- [*] App/Config/App.php ---//
'cache' => [
'path' => 'Storage/Cache', // Cache dosyalarının kaydedileceği yer
'extension' => '.cache', // Cache dosyalarının uzantısı
'expire' => 604800, // Cache'lenen verinin ön bellekte tutulacağı süre (sn cinsinden)
],
Cache Dosyasını Belirleme
Bir veri cache'e yazıldığında, otomatik olarak bir dosya oluşturulur ve cache verisi buraya yazılır. Fakat istenen durumlarda cache verisi oluşturulmadan önce verilerin kaydedileceği dosya belirlenebilir. Bunun için setFileName()
methodu kullanılır. Oluşturulacak dosya ismi parametre olarak verilir. Sistem bu ismi şifreleyerek bir dosya oluşturur.
Parametre | Veri Tipi | Açıklama |
---|---|---|
$file | String | Cache verisi yazılacak dosya ismi |
Cache::setFileName('dosya_adi');
Cache Verisi Oluşturma
Cache verisi oluşturmak için save()
methodu kullanılır. Aşağıdaki tabloda görüldüğü gibi ikisi zorunlu olmak üzere üç parametre alır;
Parametre | Veri Tipi | Açıklama |
---|---|---|
$key | String | Cache anahtarı |
$value | Mixed | Cache verisi |
$time | Integer | Cache süresi |
// value değerini, key anahtarı ile, varsayılan süre boyunca önbelleğe alır.
Cache::save('key', 'value');
// value değerini, key anahtarı ile 1 saat boyunca önbelleğe alır.
Cache::save('key', 'value', 3600);
Cache Verisi Okuma
Oluşturulan cache verilerini okumak için read()
methodu kullanılır. Okunacak cache verisine ait anahtar adı ve tanımlanmışsa eğer kaydedilen dosya adı parametre olarak verilir.
Parametre | Veri Tipi | Açıklama |
---|---|---|
$key | String | Cache anahtarı |
$filename | String | Dosya adı (Varsayılan: null) |
// key anahtarı ile tanımlanan cache verisini döndürür
Cache::read('key');
// 'articles' dosyasında key anahtarı ile tanımlanan cache verisini döndürür
Cache::read('key', 'articles');
Cache Verisi Kontrolü
Belirtilen anahtar ile oluşturulmuş cache verisi olup olmadığını öğrenmek için isCached()
methodu kullanılır. Kontrol edilecek cache verisinin anahtarını parametre olarak alır. Eğer cache verisi var ise true
, yok ise false
değer döndürür.
Parametre | Veri Tipi | Açıklama |
---|---|---|
$key | String | Cache anahtarı |
Cache::isCached('key'); // key anahtarı ile bir cache verisi olup olmadığını kontrol eder
Cache Verisi Silme
Belirtilen anahtar ile oluşturulmuş cache verisini silmek için delete()
methodu kullanılır. Silinecek cache verisinin anahtarını parametre olarak alır.
Parametre | Veri Tipi | Açıklama |
---|---|---|
$key | String | Cache anahtarı |
Cache::delete('key'); // key anahtarı ile oluşturulmuş cache verisini siler
Cache Verilerini Boşaltma
Oluşturulan tüm cache verilerini silmek için clear()
methodu kullanılır.
Cache::clear();
Cache Kullanım Örneği
Bir controller içinde cache kütüphanesinin kullanımı aşağıdaki örnekte görülebilir;
//--- [*] /App/Controllers/Home.php ---//
namespace App\Controllers;
use Cache;
class Home
{
public function index()
{
if(Cache::isCached('haber_cache')) {
$haberler = Cache::read('haber_cache');
} else {
$haberler = [
0 => [
'haber_id' => 1,
'kategori_id' => 3,
'baslik' => 'Haber basligi',
'icerik' => 'Haber icerigi'
],
1 => [
'haber_id' => 2,
'kategori_id' => 3,
'baslik' => 'Diğer Haber basligi',
'icerik' => 'Diğer Haber icerigi'
]
];
Cache::save('haber_cache', $haberler, 86400); // haberler dizisi 24 saatliğine önbelleğe alınıyor
}
}
}