PHP bir prototip önbellek sistemi uygulamak nasıl?

3 Cevap php

Sorun önbellek süresi doldu olmadığını kontrol ederken verimli bir şekilde yapmak için nasıl?

Bazı gerçekten temel bir demo ile açıklayabilir misiniz?

3 Cevap

Verileri önbelleğe için çok farklı yolları vardır. Sen benim şartlarını yerine birini bulamadım çünkü ben görev için gereken ne bağlı memcache / APC / dosya sistemi kullanan benim kendi özel bir çözüm yazdı ettik vs, diskte ram saklayabilirsiniz. Sen PEAR_CacheLite & ile önbelleğe bazı örnekler görebilirsiniz Zend_Cache. Söz hobodave gibi, apc sadece bir TTL ile önbellek veri koyarak çok basit bir yol var, ama bu uygulamaya bağlı olarak pratik olmayabilir. Bunların her biri bazı sorunlar var, bu yüzden alıcı dikkat.

Kod örnek: cache süresi doldu olmadığını kontrol

DEFINE('time_to_live',60);

 class MyCacheManager {

    function load(key) {
       if(filemtime(/data/cache/key.dat) > time_to_live) {
         //expired!
       }

    }

 }//CLASS

Bu durumda bağlıdır.

En iyi yolu, statik veri oluşturmak ve örneğin, doğrudan hizmet etmektir .htaccess olarak yönlendirme, yani yoluyla php ilgisi yoktur. Veri değiştiği zaman Cache süresi dolduğunda, örneğin Eğer yeni bir yazı eklediğinizde (daha sonra eskisini yazılmadan yeni statik dosyası oluşturmak).

Eğer belirli bir zaman döneminde önbelleğini yenilemek için gerekirse iki seviye önbellek deseni uygulamak isteyebilirsiniz.