如何执行以下任务
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缓存中执行这两种方法?
答案 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); }