ウェブページのキャッシュ

CodeIgniterではパフォーマンスを最大化するために、 ページをキャッシュさせることができます。

CodeIgniterは非常に高速ですが、動的な情報の表示回数はサーバリソース、 メモリ、およびCPU利用率に直接的に連動し 、ページ読み込み速度に影響します。 ページをキャッシュすることで、 それらは完全にレンダリングされた状態で保存されているので、 性能を静的なウェブページのそれに近づけることができます。

キャッシュはどのように動作しますか?

キャッシュはページごとに有効にすることができ、 ページのキャッシュがリフレッシュされるまでの時間を設定することができます。 最初にページがロードされると、キャッシュファイルは application/cache フォルダに書き込まれます。 後続処理において、ページ読み込みはキャッシュファイルから行われます。 キャッシュファイルは検索されて要求元ユーザのブラウザに送信されるためのものです。 有効期限が切れている場合、それは削除され、ブラウザに送信される前に更新されます。

キャッシュを有効にする

キャッシュを有効にするには、コントローラメソッドのどこかに 次のタグを書きます:

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

$n の箇所は 、リフレッシュされる間隔、ページのキャッシュを残したい 数 です。

上記のタグはメソッド内のどこにでも置くことができます。 どんな順番で書くかによる影響を受けませんので、あなたにとって最も理にかなっていると思う場所に配置してください。 一度コードが配置されれば、ページはキャッシュされ始めます。

重要

CodeIgniter の出力用コンテンツの保存方法のため、 キャッシュは ビュー で出力した場合のみ動作します。

重要

出力に影響を与える可能性のある設定オプションを変更する場合は、 手動でキャッシュファイルを削除する必要があります。

注釈

キャッシュファイルを書き込めるようにする前に、 application/cache/ ディレクトリのパーミッションを 書き込み可に設定する必要があります。

キャッシュの削除

ファイルをキャッシュしたくなくなった場合は、 キャッシュのタグを削除すれば期限切れになったときにリフレッシュされなくなります。

注釈

タグを削除しても、すぐにはキャッシュは削除されません。 通常のように期限切れを待つ必要があります。

手動でキャッシュを削除する必要がある場合、 delete_cache() メソッドを使用することができます:

// 現在リクエストされている URI のキャッシュを削除する
$this->output->delete_cache();

// /foo/bar のキャッシュを削除する
$this->output->delete_cache('/foo/bar');