0

我有自定义模块。在模型中,我有一个类 XXX 和方法 YYY。在这种方法中,我使用 cURL 向远程服务器发出请求。我想使用 magento 缓存来缓存这个结果。我怎么能做到这一点?

4

1 回答 1

0

你可以做这样的事情,只需用你的 cUrl 调用替换 rss

$url = 'http://www.site.com';
$cache = Mage::getSingleton('core/cache');
$key = md5($url);

if(! $rss = $cache->load($key)){
    $objDOM = new DOMDocument();
    $objDOM->load($url);
    $rssXml = $objDOM->getElementsByTagName("item");

    $rss = array();
    foreach( $rssXml as $value ){
        $data['title'] = $value->getElementsByTagName("title")->item(0)->nodeValue;
        $data['description'] = $value->getElementsByTagName("description")->item(0)->nodeValue;

        $rss[] = $data;
    }

    $cache->save(urlencode(serialize($rss)), $key, array("homepage_cache"), 60*60);
}
else{
  $rss = unserialize(urldecode($rss)); 
}

print_r($rss);

阅读更多@ http://www.nicksays.co.uk/2010/07/developers-guide-magento-cache/

于 2012-12-04T19:04:54.400 回答