Yüklemek için önemli zaman alan bir koleksiyonum var. İstediğim şey onu önbelleğe almak (APC, Memcache). Tüm nesneyi önbelleğe almak mümkün değildir (bu, toplanamayan ve 1 MB'nin üzerinde olduğu için). Toplama verilerini ($ col-> getData()) önbelleğe almanın yol olduğunu düşünüyorum, ancak bu diziyi temel alarak nesneyi yeniden oluşturmanın hiçbir yolunu bulamadım. Herhangi bir ipucu?Magento'da koleksiyon nasıl alınır?
cevap
Gerçekten bilmiyorum, ancak "Collection.php" dosya adlarıyla "önbellek" sözcüğüne sahip olan tüm dosyaları aradım ve birkaç sonuç aldım. Bakılacak en umut verici örnek, Mage_Sales_Model_Entity_Quote_Item_Collection (_getProductCollection()
yöntemi olabilir). Varien_Data_Collection
(herhangi bir magento koleksiyonunun ana sınıfı olan), birkaç önbellekle ilgili yönteme sahiptir: initCache() and _getCacheInstance().
Daha önce kullanmış olduğumu söyleyemem ama bir gün işe yarayabilir.
İyi şanslar.
Burada daha fazla bilgi alabilirsiniz: Onu buldukça orada fazla bilgiye gönderme olacak Can I use Magento's Caching layer as a Key/Value Store?
.
Koleksiyonları zaten yerleşik bazı önbelleğe alma var ama bir koleksiyon yapıcısı Bu koymak böylece isteyen biraz gerekir: otomatik kızarmış olacak şekilde
$cache = Mage::app()->getCacheInstance();
$prefix = "SomeUniqueValue";
$this->initCache($cache, $prefix, array(Mage_Catalog_Model_Product::CACHE_TAG));
koleksiyonun içeriğine uygun etiketleri seçin . Bu şekilde, çalıştırılan sorguya dayanarak bir ID oluşturulur, koleksiyon filtrelendiğinde, sıralandığında veya sayfalandığında en faydalıdır - bir sürüm çakışması önler.
Genelde bu, neredeyse hiç kullanılmıyor çünkü veri aldığınızda, muhtemelen her zaman HTML olarak görüntüleniyor, dolayısıyla çıktıyı önbelleğe almak anlamlıdır. Blok önbelleğe alma yaygın olarak kullanılır ve daha iyi belgelenmiştir.
- 1. Denetleyici magentoda nasıl kullanılır?
- 2. Koleksiyon mongodb alanından nasıl alınır?
- 3. VBA - Bir koleksiyon koleksiyonuna nasıl koleksiyon eklenir
- 4. Magento'da koleksiyon nasıl sıralanır?
- 5. Bir koleksiyon laravel içinde bir koleksiyon içine nasıl döngü yapılır?
- 6. Koleksiyon oluşturulamıyor
- 7. Backbone Koleksiyon
- 8. Koleksiyon Döndürme
- 9. 'group' adlı koleksiyon nasıl kaldırılır?
- 10. Verilen isteğe bağlı koleksiyon
- 11. PropertyGrid özel koleksiyon editörü
- 12. Java'da Temalı Koleksiyon
- 13. Groovy sınıfının tüm özellik isimleri nasıl alınır?
- 14. MongoDB'de iki koleksiyon birleştirme
- 15. Genel koleksiyon çağrı için Linq'i nasıl kullanırım?
- 16. Swift Koleksiyon Cell seçimini kaldırmak için nasıl
- 17. PropertyInfo ürününün koleksiyon olup olmadığını nasıl öğrenebilirim?
- 18. JPA'da aynı türden 2 koleksiyon nasıl bulunur?
- 19. Sadece koleksiyon görünüm hücrelerini nasıl yükleyebilirim?
- 20. Özel koleksiyon görünümü nasıl programlanır? Projemde
- 21. Koleksiyon db dosyasında nasıl yeniden adlandırılır?
- 22. Seçilen koleksiyon görünümünün adını nasıl alabilirim?
- 23. Koleksiyon Görünümü, Rotation
- 24. RavenDB'de Koleksiyon Adının Belirlenmesi
- 25. Koleksiyon Protokoller Tampon mesajlar?
- 26. MongoDB: çapraz koleksiyon sorguları
- 27. Koleksiyon Görünüm Başlığı gösterilmiyor
- 28. backbone.js boş koleksiyon
- 29. Gözlemlenebilir Koleksiyon MVVM
- 30. Koleksiyon nesnesi oluşturma Genellemelere
Block Objetc'ten beri bunun yerine bir koleksiyonu nasıl önbelleğe alabilirim ??? – davidselo
Soruyu anlamıyorum. – clockworkgeek
Eğer Mage :: getModel ('example/example') -> getCollection() -> initCache (...) ile bir Blokta zorluk yaşayabilirsem. Block örneğinden beri yeni koleksiyon oluşturma – davidselo