Statik içerik önbellekleme sadece kötü bir form oluşturmak için bir komut dosyası kullanarak mı?

2 Cevap php

Ben basit bir web sitesinin içeriğini yönetmek için bir kullanıcı için küçük bir uygulama oluşturmaya başlamak üzereyim. Sitede tüm içerik düzenlemeleri arasında aynı kalacak - içerik nispeten seyrek değişen olacağından, bu dinamik talep üzerine her sayfayı oluşturmak için bir atık olacağını bana vurdu. Ben ile geldi basit bir çözüm düzenlemeler teslim olduğunda, yeni bir sayfa oluşturulur ve kaydedilir, böylece uygulamayı inşa etmektir. Ancak, bu önbelleğe kötü reimplementation gibi görünüyor. Statik sayfalar, bu konuda gitmek için "yanlış" bir şekilde kaydetmek için bir komut dosyası yazıyor? Bu küçük siteler için iyi mi? Bu gibi küçük bir proje için tüm sayfaların önbelleğe alma uygulamak için kullanarak değer herhangi bir hafif araçlar var mı?

Ben bir hosting çözümü kullanıyorum ve / install şeyler çimdik yeteneği yok unutmayın.

2 Cevap

Önbelleğe alma kullanarak karşı statik bir site üretme avantajı sayfa önbellekte veya bağlı LRU algoritmalar kaldırıldı olup olmadığını kontrol etmek gerek orada asla olmasıdır. Sürece bir düzenleme yapıldığında derhal bunları üretmek gibi ben bunu nasıl yaptığınızı ile hiçbir sorunları görebilirsiniz.

Ben projelerin bu tür koştu, küçük projeler, ben sadece bu siteden tüm erişilen sayfaları önbelleğe için küçük bir araç yaptı.

örneğin:

Birisi benim rewrite açılıyor ise: http://www.example.com/about-us.html erişebileceği olurdu http://www.example.com/about-us.php

Benim global dosyasında böyle bir şey yaptı:

Birisi o sayfayı girdiğinde / cache / about-us.html varsa ben $cache_content = implode('', file('http://www.example.com/about-us.php')); dışından web sayfasını açın ve diske yazmak istiyorum olmasaydı ben de bazı başlıkları sona ekledi .. kontrol gibi:

<?php
$cache_content = implode('', file('http://www.example.com/about-us.php'));
$date_cached = date('U');

$data = $date_cached."\n".$cache_content;

$fp = fopen('/cache/about-us.html', 'w');
fwrite($fp, $data);
fclose($fp);
?>

sonra global.php dosyada ben yukarıda size söylediğim gibi, bu dosya için denetler onu bulursa o açılır ve bu tarih okumak, tarih 3 gün eski eğer dosyayı yeniden.

Ben de CMS tüm önbelleğini temizlemek için bir yol ekledi.

İyi şanslar.