0

我在 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 中设置文件缓存的时间限制,以便缓存将在一个小时后自动销毁。

4

2 回答 2

1

简单地:

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

请参阅代码以了解 sfCache 的其他选项。

于 2012-06-28T13:17:51.877 回答
0

只是为使用 APC 的人分享我的代码。应该是一样的。我只是通过了前缀“查询”,因为我正在缓存一个查询。

$cache = new sfAPCCache(array('lifetime' => 600, 'prefix' => 'query'));
于 2014-02-05T19:49:18.627 回答