2009-02-25 19 views
0

LaTeX'i bir CMS'nin parçası olarak pNG'lere dönüştürmek için kullanıyorum, bir tür basit önbelleğe alma mekanizmasına ihtiyacım var çünkü sunucuyu png işlemek için yaklaşık 2 saniye alıyor. Ben ham TeX almak ve md5 fonksiyonu ile çalıştırın, sonra mevcut zaman damgası ile birlikte veritabanına karma ekleyin ve dosya adı olarak <hash> .png kullanın. Görüntüye her erişildiğinde timestamo güncellenir.Bu, uygun bir önbellekleme yöntemidir?

+0

PNG'yi neden çok uzun sürdürebilmek 2 saniye alıyor? – staticsan

+0

Eğer sayfada birkaç tane varsa, ne yazık ki – GameFreak

+0

'u yükleyebilmek için uzun zaman alabilirdi. @staticsan: ... * what *? 2 tam saniye çok uzun değil mi? –

cevap

0

Hmm, bence bu iyi bir yaklaşımdır, ancak büyük olasılıkla LaTeX üzerinde bazı ek işlemler yapmak isteyeceksiniz. Aksi takdirde, beyaz boşluktaki değişiklikler (ve potansiyel olarak yorumlarınız ve giriş yönteminize bağlı olarak diğer bazı şeyler) farklı karmalarla sonuçlanabilir.

Ayrıca, zaman damgasını güncelleştirmenin amacı nedir? Uzun zamandır erişilmemiş olan PNG'leri kaldıran bir toplu işlemin parçası olarak mı?

+0

Zaman damgasını kullanma amacım konusunda haklısınız. – GameFreak

1

Bu kulağa hoş geliyor. Söylemek için .png adını, veritabanı kimliğini veya hatta karma kendisini değiştirebilirsiniz, böylece görüntü istemci tarafında da önbelleğe alınabilir.

+0

Dosya adı hash. – GameFreak

+0

Soruda bunu belirtmediniz. –

+0

Tamam Sorunu görüyorum. Soruya .png yazdım ama bir HTML etiketi olarak yorumlandı ve yazıdan sıyrıldı. Şimdi gidip düzelteceğim. – GameFreak

2

Bu tür bir senaryo için, diskte geçici bir dizin kullanmayı tercih ediyorum. İstek üzerine

:

if the file doesn't exist 
    render it to the file 
fpassthru() the file from disk 
+0

Dosyanın önbellek yenileme kontrolü için zaman damgasını kullanabilirsiniz. – sfossen

0

onlar render oldum sonra en değiştirebilecek .png, ben .png (kontrol ipliği güncellendiğinde gözlemleyerek çeşit kullanarak bu hesaba gerektiğini de size tahmin ederse, Son değiştirilen bir anahtarı veya başka bir şeyi güncellemek için yöntemler ayarlayın.)