无法从cakePHP shell保存到wincache

时间:2012-11-21 16:33:27

标签: cakephp caching

我正在尝试通过他们的API从wunderground.com检索天气,并将其存储在wincache中。出于测试目的,我在新闻模型中做了这个功能:

public function updateWeather(){
    $results = file_get_contents('http://api.wunderground.com/api/**api_key**/conditions/q/CA/Montreal.json');
    $results = json_decode($results);
    return Cache::write('weather', $results);
}

当我从控制器调用它时它工作正常。但是,我无法理解为什么从控制台调用时相同的功能不起作用。我创建了这个shell,以便最终将其添加到Windows任务调度程序。

class WeatherShell extends AppShell {
    public $uses = array('News');

    public function main() {
        $this->News->updateWeather();
    }
}

调试时,我看到$ results已正确填充。我从Cache :: write()得到'true',然而,在尝试阅读时我得到'false'。

在新闻控制器中调用以下操作的任何时刻都会完成缓存读取

public function diaporama(){
    $this->set('weather', Cache::read('weather'));
}

这是我在bootstrap.php中的缓存配置

Cache::config('default', array(
    'engine' => 'Wincache',
    'duration'=> 3600,
    'probability'=> 100,
    'prefix' => ''
));

0 个答案:

没有答案