在symfony中设置缓存时间

时间:2012-06-28 12:55:06

标签: php caching symfony1 symfony-1.4

我在symfony中使用文件缓存来存储我的数据一段时间限制。下面是我编写的代码。

$c = new sfFileCache(array('cache_dir' => sfConfig::get('sf_cache_dir').'/function'));
        if ($c->has('myarray')) {
            $cached = $c->get('myarray');
            if (!empty($cached)) {
                $data = unserialize($cached);
            }
        } else {
            foreach($queries as $key => $query) {
                foreach ($query->fetchArray() As $result) {
                    $data[] = $result;
                }
            }
            $c->set('myarray',serialize($data));
        }

任何人都可以告诉如何在symfony中设置文件缓存的时间限制,以便缓存在一小时后自动销毁。

2 个答案:

答案 0 :(得分:1)

简单地:

$c = new sfFileCache(array(
  'cache_dir' => sfConfig::get('sf_cache_dir').'/function',
  'lifetime'  => 3600
));

请参阅the code以了解sfCache中的其他选项。

答案 1 :(得分:0)

只是为使用APC的代码共享我的代码。应该是完全一样的。我刚刚传递了前缀“query”,因为我正在缓存一个查询。

$cache = new sfAPCCache(array('lifetime' => 600, 'prefix' => 'query'));