5

CI 2.1.0 で構築されたブログ タイプのアプリがあります。追加すると

$this->output->cache(5);

私のコントローラーでは、CI はページを正しくキャッシュし、すばやく読み込みます。

私の問題は、誰かがその投稿にコメントした場合、キャッシュが期限切れになるまでコメントが表示されないことです。

その特定のページに変更があるたびにキャッシュを強制的に更新する方法や、投稿編集が行われた場合などに、誰かが指針を持っているのではないかと思います.

前もって感謝します。

4

2 に答える 2

5

CodeIgniter のドキュメントから:

ファイルをキャッシュする必要がなくなった場合は、キャッシュ タグを削除すると、有効期限が切れても更新されなくなります。注: タグを削除しても、キャッシュはすぐには削除されません。通常通り期限切れになります。以前に削除する必要がある場合は、キャッシュ フォルダーから手動で削除する必要があります。

プログラムでキャッシュファイルを削除するには、使用できます

CodeIgniter キャッシュ ヘルパー

ここで、この関数はキャッシュファイルを削除します

function delete_cache($uri_string)
    {
        $CI =& get_instance();
        $path = $CI->config->item('cache_path');
        $cache_path = ($path == '') ? APPPATH.'cache/' : $path;

        $uri =  $CI->config->item('base_url').
            $CI->config->item('index_page').
            $uri_string;

        $cache_path .= md5($uri);

        if (file_exists($cache_path))
        {
            return unlink($cache_path);
        }
        else
        {
            return TRUE;
        }
    }
于 2012-05-18T19:36:32.210 に答える
4

出力クラスを拡張して、ページ キャッシュのクリアを有効にすることができます。ここを見てください: https://github.com/EllisLab/CodeIgniter/wiki/Clear-Page-Cache

于 2012-05-18T19:36:46.873 に答える