简体   繁体   English

如何使用magento在自定义模块中缓存模型

[英]How to cache model in custom module using magento

I have custom module. 我有自定义模块。 In the model I have a class XXX and method YYY. 在模型中,我有一个类XXX和方法YYY。 In this method I do request to remote server using cURL. 在这种方法中,我确实使用cURL请求到远程服务器。 I want to cache this result using magento cache. 我想使用magento缓存来缓存此结果。 How I can do this? 我该怎么做?

You could do something like this just replace the rss with you cUrl call 您可以执行类似的操作,只需用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);

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM