Php 如何使条令查找像条令表格->;查找,->;findby*使用查询/结果缓存(原则1.2)

Php 如何使条令查找像条令表格->;查找,->;findby*使用查询/结果缓存(原则1.2),php,doctrine,doctrine-1.2,Php,Doctrine,Doctrine 1.2,通过应用以下代码,我第一次在条令1.24中设置了结果缓存: $servers = array( 'host' => 'localhost', 'port' => 11211, 'persistent' => true ); $cacheDriver = new Doctrine_Cache_Memcache( array( 'servers' => $servers, 'compression' => fals

通过应用以下代码,我第一次在条令1.24中设置了结果缓存:

$servers = array(
  'host'       => 'localhost',
  'port'       => 11211,
  'persistent' => true
);
$cacheDriver = new Doctrine_Cache_Memcache(
  array(
    'servers' => $servers,
    'compression' => false
  )
);
$manager->setAttribute(Doctrine::ATTR_RESULT_CACHE,$cacheDriver);
$manager->setAttribute(Doctrine::ATTR_RESULT_CACHE_LIFESPAN, 3600 );
这非常适合缓存DQL需求,例如:

enter code here$q = Doctrine_Query::create()
    ->from('Software s')
    ->leftJoin('s.Files f')
    ->useResultCache();
$q->execute();
xyzTable::getInstance()->findOneBySufff($stuff);
但是,我感兴趣的是如何缓存表查找,例如:

enter code here$q = Doctrine_Query::create()
    ->from('Software s')
    ->leftJoin('s.Files f')
    ->useResultCache();
$q->execute();
xyzTable::getInstance()->findOneBySufff($stuff);
这些在我的应用程序代码中更为常见。 我如何做到这一点?
此外,如果有人有使用memcache和doctrine 1.2的指南,我会非常高兴

您必须实现

xyzTable::getInstance()->findOneBySufff($stuff);
函数在您自己的xyzTable类中

class xyzTable extends Doctrine_Table 
{
     public function findOneByStuff($stuff) {
         return $this->createQuery('x')
              ->select('x.*')
              ->where('x.stuff = ?', $stuff)
              ->useResultCache()
              ->fetchOne();

     }
}
确保在“cli”脚本中启用表创建

 ....
 $doctrine_config['generate_models_options'] = 
    array('generateTableClasses' => true);

 $cli = new Doctrine_Cli($doctrine_config);
 ....