Web ページのキャッシュ
CodeIgniter では、最大限のパフォーマンスを得るため、ページをキャッシュすることが可能です。
CodeIgniter は大変高速ですが、ページで大量の動的情報を表示させると、 サーバリソース、メモリ、および、CPU の利用に直接関係するので、ページを読み込むスピードに影響が出ます。 ページをキャッシュすることにより、ページは完全にレンダリングされた状態で保存されるので、静的 Web ページに近いパフォーマンスを達成することができます。
キャッシュはどのように動作しますか?
キャッシュはページごとに有効化でき、キャッシュがリフレッシュされるまでキャッシュ状態を維持しておく時間を設定できます。 まず、ページが読み込まれると、キャッシュは application/cache フォルダに書き出されます。 次に続けてページが読み込まれると、キャッシュが読み取られリクエスト元のユーザのブラウザに送信されます。有効期限が切れたら、古いキャッシュは削除され、ブラウザに送信される前に更新されます。
Note: ベンチマークタグはキャッシュされませんので、キャッシュが有効な場合でもページをロードする速度を見ることができます。
キャッシュの有効化
キャッシュを有効にするには、次のコードをコントローラのメソッド内のいずれかの場所に記述します:
$this->output->cache(n);
ここでの n は、更新されるまでの間、ページを何分間キャッシュしておくかの分数になります。
上のコードは、メソッドのどこに記述しても構いません。出現する順番は影響しませんので、もっとも論理的に相応しいと思われる場所であればどこにでも記述することができます。 コードを記述すれば、そのページはキャッシュされるようになります。
Warning: CodeIgniter が出力するコンテンツを保存する必要があるため、キャッシュはコントローラでビューを使い画面表示をする場合にのみ有効になります。
Note: キャッシュファイルを書き込み可能にするには、 application/cache フォルダのパーミッションを書き込み可能にセットする必要があります。
キャッシュの削除
もうファイルをキャッシュしたくない場合は、キャッシュ用のコードを取り除いてください。そうすれば、そのファイルは有効期限が切れたときに更新されなくなります。Note: キャッシュ用のコードを取り除いてもすぐにはキャッシュは削除されません。通常は期限が切れなければ削除されません。 有効期限前に削除したい場合は、キャッシュフォルダから手動で削除する必要があります。