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));
        }

1時間後にキャッシュが自動的に破棄されるように、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 に答える