The Scenario
Ben raporları (bir SQL veritabanı alınan bilgilere göre) anında oluşturulabilir bir web uygulaması inşa ediyorum. Bu raporlar aynı zamanda anında oluşturulabilir grafikler, içerecektir. Bu grafikler bir 3. parti grafik API (örn: Google Charts) kullanılarak, hassas bilgiler içerdiğinden söz konusu değildir.
The Problem
Ben bu grafikleri oluşturmak için PHP'nin GD uzantısı kullanıyorum. Oldukça yavaş. Önbellekleme gitmek için bir yoldur, ancak sorun olası listelerinde çok sayıda var olduğu; Ben inanıyorum, ancak talep listelerinde çoğunluğu daha önce oluşturulan edilmiştir olanlar olacaktır.
Partial Solution
Grafikler veri ve diğer bilgileri (boyut, grafik türü, vb) ile oluşturulur. Bu benzersiz bir grafik tanımlamak Çünkü, ben her Grafiğinize bu bilgilere dayalı benzersiz bir karma vermek ve kaydedin. Şimdi bir yeni istenen grafik için karma hesaplamak ve ben zaten render sahip olmadığını görebilirsiniz.
Bu sorun bir çarpışma olayıdır. Etrafında almak için, bir SQL tablosu karma ve verilerin bir tefrika formu kaydetmeden düşünüyorum. Ben bir önbellek isabet varsa Sonra, ben hala verilerin kendisini karşılaştırmak gerekir.
I am over-engineering this? (It's a 160-bit hash - SHA1)
Is there a better way to handle this?