2

クックブックに関しては、次のような要素をキャッシュできます。

echo $this->element('helpbox', array(), array('cache' => true));

構成によるキャッシュは次のようになります。

echo $this->element('helpbox', array(),
    array('cache' => array('config' => 'view_long') );

事前定義された構成なしで要素をキャッシュするにはどうすればよいですか?期間を要素にキャッシュするにはどうすればよいですか?私はこれを試しましたが、機能しませんでした:

echo $this->element('helpbox',  array(),
     array('cache' => array('time' => '+30 minutes')));
4

2 に答える 2

2

次の場所でキャッシュを構成する必要がありapp/Config/bootstrap.phpます。

Cache::config('hour', array(
    'engine' => 'File',
    'duration' => '+1 hours',
    'path' => CACHE,
    'prefix' => 'cake_short_'
));

Cache::config('week', array(
    'engine' => 'File',
    'duration' => '+1 week',
    'probability' => 100,
    'path' => CACHE . 'long' . DS,
));

この後、定義された構成を使用して要素をキャッシュできます。

echo $this->element('helpbox', array(), array('cache' => array('config' => 'week')));
于 2012-07-07T08:49:00.103 に答える
0

現在は名前付きキャッシュ構成のみを参照できるため、プログラムでキャッシュされた要素をクリアする場合は、要素名とキーを指定してCache :: delete()を使用する必要があります。

これについてブログに投稿しました。関連するCakePHPフォーラムスレッドにも詳細があります。

(8/31/14)これがCakePHP2.5での動作であるかどうかは確認していません。

于 2012-12-17T14:12:44.620 に答える