假设我有一个名为的实体Product
,并且每次用户点击产品信息页面时都会加载该实体。通常我会将对象保存在 Zend_Cache (memcache) 中一个小时,以避免每个请求都命中数据库,但据我所知,由于 Proxy 对象,Doctrine2 实体无法做到这一点。
所以我的问题是,如何避免从数据库中为每个请求加载相同的实体?
[编辑]
我尝试像这样使用 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 类,您无法序列化实体