Kohana 2.x缓存问题

时间:2014-01-11 10:03:36

标签: php caching kohana kohana-cache

我正在使用Kohana 2.x,我想为数据库结果实现缓存。为此,我尝试如下,

$cache = Cache::instance();   
$siteSettings = $cache->get('siteSettings');
if ( ! $siteSettings)
{ 
    // for 1st request only it entering, this I've verified    
    $siteSettings = ORM::factory('siteSettings', 1);
    $cache->set('siteSettings', $siteSettings, array('siteSettings'), 0);
}

之后如果我尝试以

的形式访问表列
$siteSettings->adminEmail;

虽然它再次访问数据库,但即使没有进入上述if条件。我在哪里做错了?我正在使用文件缓存并确保该文件夹具有可写权限,并且我已验证缓存文件是否具有数据库结果。

编辑:

以下是我的缓存设置

$config['default'] = array(
    'driver' => 'file',
    'params' => APPPATH.'cache',
    'lifetime' => 1800,
    'requests' => -1
);

2 个答案:

答案 0 :(得分:0)

缓存无效,因为您未设置time period

$cache->set('siteSettings', $siteSettings, array('siteSettings'), 0);

您将覆盖时间段3600秒(U设置为0)的默认设置。设置缓存寿命的时间。

答案 1 :(得分:0)

我们应该

// Prevents cached items from being reloaded  
protected $reload_on_wakeup = FALSE;

在相应的表模型类中。