Diciamo che ho un'entità chiamata Product
e questa entità viene caricata ogni volta che l'utente accede alla pagina delle informazioni sul prodotto. Normalmente salverei l'oggetto in Zend_Cache (memcache) per un'ora per evitare di colpire il db per ogni richiesta, ma per quanto ho capito non è possibile con le entità Doctrine2 a causa degli oggetti Proxy.Salvataggio di un'entità doctrine2 nella cache per accelerare il caricamento della pagina
Quindi la mia domanda è, come posso evitare di caricare la stessa entità dal database per ogni richiesta?
[EDIT]
Ho provato ad utilizzare Dottrina della cache come questo
$categoryService = App_Service_Container::getService('\App\Service\Category'); $cache = $categoryService->getEm()->getConfiguration()->getResultCacheImpl(); $apple = $cache->fetch('apple');
ma ottengo il seguente errore
Warning: require (App/Entità/Proxy/_ CG_ /App/Entity/Category.php) [function.require]: impossibile aprire lo stream: nessun file o directory in /opt/vhosts/app/price/library/Doctrine/Common/ClassLoader.php in linea 163
Questo è lo stesso per Zend cache così come non è possibile serializzare l'entità a causa della classe Proxy
1. Perché funzioni correttamente, devo sovrascrivere i metodi del repository come 'find',' findBy * ', giusto? 2. Vedi la mia modifica. – Optimus