PHP Dosya Önbellekleme (File Cache) Kurulumu

0 Ответы 2 Просмотры
·
Участники
Автор темы #1
[B]PHP'de dosya tabanlı önbellekleme (file cache) uygulaması, dinamik içeriklerin performansını artırmak ve sunucu üzerindeki yükü hafifletmek amacıyla sıkça tercih edilen bir yöntemdir. Bu teknik, belirli hesaplamaların veya verilerin, disk üzerinde kalıcı bir biçimde saklanmasını sağlar, böylece aynı veriye tekrar ihtiyaç duyulduğunda, yeniden hesaplama veya veri tabanı sorgusu yerine, önceden saklanmış dosya kullanılır. Bu kurulumun temel mantığı, veriyi belirli anahtarlar altında saklamak ve ihtiyaç halinde hızlıca okumaktır.

İlk adım olarak, cache dizini oluşturmak ve uygun izinleri ayarlamak gerekir. Örneğin, sunucunuzda 'cache' adında bir klasör açıp, PHP'nin bu klasöre yazma izni olduğundan emin olun.

Daha sonra, basit bir önbellekleme fonksiyonu yazarak başlayabilirsiniz:

КОД
1234567891011121314151617181920212223242526  
function setCache($key, $data, $ttl = 3600) {  
    $cacheDir = [b]DIR[/b] . '/cache/';  
    if (!is_dir($cacheDir)) {  
        mkdir($cacheDir, 0755, true);  
    }  
    $filename = $cacheDir . md5($key) . '.cache';  
    $cacheData = [  
        'expires' => time() + $ttl,  
        'data' => $data  
    ];  
    file_put_contents($filename, serialize($cacheData));  
}  

function getCache($key) {  
    $filename = [b]DIR[/b] . '/cache/' . md5($key) . '.cache';  
    if (!file_exists($filename)) {  
        return false;  
    }  
    $cacheData = unserialize(file_get_contents($filename));  
    if ($cacheData['expires'] < time()) {  
        unlink($filename);  
        return false;  
    }  
    return $cacheData['data'];  
}  


Yukarıdaki fonksiyonlar, belirli bir anahtar ve zaman aşımı değeri ile veriyi önbelleğe kaydedip, tekrar ihtiyaç duyulduğunda hızlıca erişmenizi sağlar. Burada, 'setCache' fonksiyonu, veriyi belirli bir süreliğine saklar, 'getCache' ise cache'in geçerli olup olmadığını kontrol eder.

Performansı artırmak adına, cache temizleme işlemlerini düzenli aralıklarla veya belirli koşullara göre otomatik hale getirmeniz gerekebilir. Ayrıca, büyük ölçekli uygulamalarda, önbellek boyutunu ve TTL (Time To Live) ayarlarını dikkatli belirlemek, sistem verimliliği açısından önemlidir.

Son olarak, bu temel yapı, ihtiyaçlara göre daha gelişmiş cache mekanizmalarıyla (örneğin, önbellek invalidation, farklı cache stratejileri) entegre edilerek optimize edilebilir. PHP'de dosya tabanlı önbellekleme, uygun yapılandırmayla yüksek performans ve düşük maliyet sağlar.

Чтобы ответить, необходимо войти в систему.

0 цитат выбрано