Digamos que tengo una entidad llamada Product
y esta entidad se carga cada vez que el usuario acceda a la página de información del producto. Por lo general, guardo el objeto en Zend_Cache (memcache) durante una hora para evitar golpear el DB para cada solicitud, pero por lo que yo entiendo, eso no es posible con las entidades de Doctrine2 debido a los objetos Proxy.Guardar una entidad doctrine2 en la memoria caché para acelerar la carga de la página
Entonces mi pregunta es, ¿cómo puedo evitar cargar la misma entidad de la base de datos para cada solicitud?
[EDIT]
He intentado utilizar Doctrina caché como esto
$categoryService = App_Service_Container::getService('\App\Service\Category'); $cache = $categoryService->getEm()->getConfiguration()->getResultCacheImpl(); $apple = $cache->fetch('apple');
pero me da el siguiente error
Warning: require (APP/Entidad/Proxy/_ CG _ /App/Entity/Category.php) [function.require]: no se pudo abrir la secuencia: No existe ningún archivo o directorio en /opt/vhosts/app/price/library/Doctrine/Common/ClassLoader.php en línea 163
Esto es igual para Zend Cache, así como no se puede serializar la entidad a causa de la clase Proxy
1. Para que esto funcione, necesito sobrescribir los métodos de repositorio como 'find',' findBy * ', ¿verdad? 2. Por favor, vea mi edición. – Optimus