Zend Cache Howto PHP

时间:2009-12-21 22:37:10

标签: php oop zend-framework

如何执行以下任务

public function addToCache($id,$items)
{
 // in zend cache
}

public function getFromCache($id)
{
 // in zend cache
}

第一种方法应该使用id和应该缓存的项目。

第二种方法应该只取一个缓存对象的id,并且应该返回该项id的缓存内容。

我希望能够做到这样的事情;

public function getItems()
{
   if(!$this->cache->getFromCache('items'))
   {
       $this->addToCache('items',$this->feeds->items());
       return $this->cache->getFromCache('items');
   }

}

如何在zend缓存中执行这两种方法?

2 个答案:

答案 0 :(得分:3)

所有要开始的事情都在Zend docs。你必须深入挖掘并且感到舒服,这不是“我如何做到这一点”类型的区域。

但是,通用缓存检查如下所示:

$cache = /*cache object*/
if ( !($my_object = unserialize($cache->load('cache_key'))) ) {
  $my_object = /*not found so initialize your object*/
  $cache->save(serialize($my_object)); // magically remembers the above 'cache_key'
}

$my_object->carryOnAsIfNothingStrangeJustHappenedThere();

答案 1 :(得分:2)

假设您已经设置了Zend_Cache的实例,并且可以通过本地变量$this->cache访问它,那么您的函数将实现为:

function getFromCache($key) { return $this->cache->load($key); }
function addToCache($key,$value) { $this->cache->save($key,$value); }