2012-04-02 10 views
0

私はCakePHP 1.3を使用していて、ほとんどの要素をキャッシュしています。私が読んだところから、Cakeは新しい投稿が作成されたときにキャッシュをクリアするはずです。しかし、それは自動的に私のために働いていないのですか?CakePHP 1.3:キャッシュが有効になっています。記事投稿時にキャッシュをクリアしない

私は通常、キャッシュをクリアするためにプラグインを使用していますが、これはFTP経由で手動で行います。

誰かが私の人生をより簡単にするための提案をしています。

おかげで、

+0

どのようにキャッシュしますか? http://book.cakephp.org/2.0/ja/core-libraries/helpers/cache.htmlのみが、このページで説明されている条件が満たされている場合にのみ、キャッシュを自動消去します。 – burzum

+0

記事ビューにキャッシュされた要素がリフレッシュされていることに気付きました。しかし、リフレッシュされないフロントページ(ページコントローラ)のアーティクルコントローラを参照する要素があります。それをどうやって行うのですか? –

答えて

0

私はCakePHPは、次のようにキャッシュをクリア信じる:要素つまりがある場合は

  1. articles_most_viewed.ctpと呼ばれ、articles index.ctpファイル内から呼び出された場合、Cakeはadd、edit、deleteアクション中にそれぞれの要素をクリアします。
  2. ただし、要素がある場合、つまり、 frontpage_lastest_articles.ctppages/display.ctpファイル(frontpage)でのみ呼び出される場合、CakePHPは影響を受ける/変更されたモデル/ビュー(この場合はarticlesモデル/コントローラ/ビュー)から呼び出されていないため、その要素をクリアしません。

私は、よりよい方法があれば、この問題にどう対処するかを理解しています。

... 
function admin_add(){ 
    ... 
    if (!empty($this->data)) { 
     if ($this->Article->save($this->data)) { 
      // I call the following function to clear my entire Cache directory 
      // after this action is successfully processed 
      // =========================================== 
      clearCache(); 
      // =========================================== 
      $this->Session->setFlash('Your post has been saved.'); 
      $this->redirect(array('action' => 'index')); 
     } 
    } 
} 

これを処理するためのより良い方法があるかもしれませんが、これは今の私のソリューションです:しかし、私のクイックフィックスは、次のような私のadmin_add.ctpadmin_edit.ctpadmin_delete.ctpファイルでclearCache()を呼び出すことです。より良い/オートマジックなソリューションがあるかどうかを知ってうれしいです。

関連する問題