Tengo una colección que toma mucho tiempo cargar. Lo que me gustaría es almacenarlo en la memoria caché (APC, Memcache). No es posible almacenar en caché todo el objeto (ya que no se puede deserializar y tiene más de 1 MB). Estoy pensando que el almacenamiento en caché de los datos de la colección ($ col-> getData()) es el camino a seguir, pero no encontré la forma de reconstruir el objeto basado en esta matriz. ¿Alguna pista?Cómo almacenar en caché una colección en Magento?
Respuesta
Realmente no sé, pero busqué todos los archivos que tienen la palabra "caché" en ellos con los nombres de archivo de "Collection.php" y obtuve algunos resultados. El ejemplo más prometedor para mirar podría ser el método Mage_Sales_Model_Entity_Quote_Item_Collection (_getProductCollection()
). Parece que Varien_Data_Collection
(que es una clase padre de cualquier colección de magento) tiene algunos métodos relacionados con la memoria caché: initCache() and _getCacheInstance().
No puedo decir que los haya usado antes, pero podría ser útil algún día.
Buena suerte.
Puede obtener más información aquí: Can I use Magento's Caching layer as a Key/Value Store?
Voy a publicar más información allí como lo encuentro.
Colecciones ya tienen alguna almacenamiento en caché construida en pero necesitan un poco de ayuda a fin de poner esto en el constructor de una colección:
$cache = Mage::app()->getCacheInstance();
$prefix = "SomeUniqueValue";
$this->initCache($cache, $prefix, array(Mage_Catalog_Model_Product::CACHE_TAG));
escoge las etiquetas apropiadas para el contenido de la colección de modo que se vacía automáticamente . De esta forma se crea una ID basada en la consulta que se está ejecutando, es más útil cuando la colección se filtra, ordena o busca: evita un conflicto de versión.
Generalmente esto apenas se usa porque cuando recuperas datos casi siempre terminas mostrándolos, probablemente como HTML, por lo que tiene sentido guardar en caché el resultado. El almacenamiento en caché de bloque es ampliamente utilizado y mejor documentado.
- 1. ¿Cómo ordenar una colección en Magento?
- 2. Cómo almacenar datos en caché en symfony2
- 3. Cómo almacenar en caché en Blackberry BrowserField
- 4. ¿Cómo puedo almacenar en caché una columna calculada en rieles?
- 5. Cómo almacenar en caché una imagen en Javascript
- 6. ¿Cómo almacenar datatable en caché para reutilizarlo?
- 7. La mejor manera de almacenar en caché una colección de objetos. ¿Juntos o como artículos individuales?
- 8. Cómo almacenar en caché una vista de fragmento
- 9. ¿Qué significa caché "invalidado" en Magento?
- 10. Magento: Ordenar una colección de productos
- 11. Colección :: addAttributeToSelect() método definido en Magento
- 12. Magento obtener una colección de productos en un orden arbitrario
- 13. Colección Magento no selecciona el atributo
- 14. Para almacenar en caché o no a almacenar en caché - GetCustomAttributes
- 15. Cómo utilizar Magento almacenamiento en caché durante el uso de "API Magento"
- 16. ¿Cómo borro datos usando la colección en magento ORM?
- 17. Módulo personalizado de Magento Cómo almacenar variables en config.xml
- 18. Cómo almacenar imágenes en caché y archivos html en PhoneGap
- 19. ¿Cómo almacenar en caché los resultados en scala?
- 20. Cómo crear un sitio, almacenar y ver programaticamente en magento
- 21. Mejor manera de almacenar datos en caché
- 22. caché Magento no conseguir limpiado
- 23. La mejor solución para almacenar en caché
- 24. Usando una variable estática para almacenar en caché los datos
- 25. Borrar el caché de Magento
- 26. Cómo almacenar en caché la página dinámica de PHP
- 27. Cómo almacenar en caché solo para el botón Atrás
- 28. cómo almacenar en caché css, images y js?
- 29. Cómo almacenar en caché con el sitio Node.js de manifiesto
- 30. ¿Cómo almacenar archivos en el directorio de caché de Android?
¿Cómo puedo guardar en caché una colección en su lugar desde el objeto Block? – davidselo
No entiendo la pregunta. – clockworkgeek
Si puedo hacer un bloque con Mage :: getModel ('example/example') -> getCollection() -> initCache (...). Crear nueva colección desde la instancia de Bloque – davidselo