ASP.NET Uygulama / Önbellek nesneleri PHP eşdeğer

2 Cevap php

Benim Google-fu ben aradığım ortaya değil, bu yüzden kalabalık bu bir dışarı koyuyorum.

Bir ASP.NET geliştirme arka plandan geliyor, ben Application ve bu arama satır gibi nadiren değiştirilmiş ancak sık kullanılan kaynaklar (saklamak benim için kullanılabilir Cache koleksiyonları alışığım web sunucusunun belleğinde bir veritabanı veya statik XML belgelerinin içeriği) gelen, bu yüzden ben her istek sırasında bu sık kullanılan öğeleri yeniden yüklemek zorunda değilsiniz.

PHP bir eşdeğeri var mı? (Ben sunucu konfigürasyonu üzerinde kontrol yok gibi.) Ben memcache uzantısı kısaca kadar okudum, ama bu benim için işe yaramaz bana önceden ayrıştırmak ya da ön izin verecek bir şey uygulamak çeliyor kaynakları-seçin ve dosyasında saklanır sayılların önbelleğe alınan nesne inşa edecek PHP önbellek "dosyasının" bir tür oluşturmak, ama bu benim için çok hacky çözüm gibi görünüyor.

Beni en iyi uygulamaları kullanarak bunu gerçekleştirmek sağlayacak PHP bir şey (veya, alternatif olarak, bazı tür bir yardımcı kütüphane) var mı?

2 Cevap

Kısacası, hayır, böyle bir şey PHP özgün mevcut değildir. Anlamak için, PHP her istek için inşa onun bütün bir ortama sahip olduğunu anlamak zorunda, ve sonradan isteği sonunda yırtılmış. PHP does size oturum değişkenleri başına depolamak için $ _SESSION vermek, ama docs içine kazma sonra bu değişken de her istek sırasında inşa edilmiş olduğunu göreceksiniz. PHP (veya mod php daha spesifik olmak üzere) diğer "uygulama sunucuları" temelde farklıdır. Temelde, bir uygulama sunucusu değil. Bir başına istek komut dosyası koşucusu.

Şimdi, beni yanlış anlamayın, PHP uygulama düzeyinde veri deposu yapmanıza olanak sağlar, ama bunu almak için bir veritabanına gitmek zorunda, ya da diske olacaktır. Gerçi bu Unutmayın, bu performansın bir sorun olduğunu göstermiştir kadar performans için optimize konusunda endişelenmeyin. Ve ben zaman performansı ile 100 üzerinden 99 kez, siz kendi küçük güzel memcached sunucusu oluşturmak için kaynaklara sahip olacak, yazdığı bazı kötü kod nedeniyle değil bir sorun olduğunu tahmin edecektir.

Örneğin, Zend_Cache kütüphanede bir göz atın. Birden backendleri önbelleğe alabilir.