0
我有自定義模塊。在模型中,我有一個類XXX和方法YYY。在這種方法中,我使用cURL請求遠程服務器。我想使用magento緩存來緩存這個結果。我如何做到這一點?如何使用magento在自定義模塊中緩存模型
我有自定義模塊。在模型中,我有一個類XXX和方法YYY。在這種方法中,我使用cURL請求遠程服務器。我想使用magento緩存來緩存這個結果。我如何做到這一點?如何使用magento在自定義模塊中緩存模型
你可以做這樣的事情只需更換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/
它可以完美運行。非常感謝你。你能解釋一下你使用這個參數的方法:array(「homepage_cache」),60 * 60。可能是60 * 60是以秒爲單位的時間,之後緩存將刷新,但對於homepage_cache,我不確定? –
它用於'分組'緩存,以便通過執行$ cache-> flush('...')(mass removal)來刪除屬於'homepage_cache'的所有緩存... 60 * 60是時間在第二..看看上面的鏈接 –
你讓我的一天。謝謝 :) –