Сохранение объекта доктрины2 в кэше для ускорения загрузки страницы.

Допустим, у меня есть объект с именем Product, и этот объект загружается каждый раз, когда пользователь нажимает информацию о продукте. страница. Обычно я сохранял объект в Zend_Cache (memcache) в течение часа, чтобы избежать попадания в базу данных для каждого запроса, но, насколько я понимаю, это невозможно с объектами Doctrine2 из-за объектов Proxy.

Итак, мой вопрос: как мне избежать загрузки одного и того же объекта из базы данных для каждого запроса?

[EDIT]

Я пытался использовать Doctrine Cache следующим образом

$categoryService = App_Service_Container::getService('\App\Service\Category');
 $cache = $categoryService->getEm()->getConfiguration()->getResultCacheImpl();
 $apple = $cache->fetch('apple');

Но я получаю следующую ошибку

Предупреждение: require(App/Entity/Proxy/ _ CG_ /App/Entity/Category.php) [function.require]: не удалось открыть поток: нет такого файла или каталога в /opt/vhosts/app/price/library/Doctrine/Common/ClassLoader.php на строка 163

То же самое для Zend Cache, так как вы не можете сериализовать сущность из-за класса Proxy

9
задан Optimus 30 May 2012 в 07:07
поделиться