ウェブページキャッシング

CodeIgniterを使用すると、ページをキャッシュして最大限のパフォーマンスを実現できます。

CodeIgniterは非常に高速ですが、ページに表示する動的情報の量によって、サーバーリソース、メモリ、および使用される処理サイクルが直接相関し、ページの読み込み速度に影響します。ページをキャッシュすることにより、完全にレンダリングされた状態で保存されるため、静的ウェブページに近いパフォーマンスを実現できます。

キャッシングの仕組み

キャッシングはページごとに有効にすることができ、ページが更新されるまでのキャッシュ期間を設定できます。ページが初めて読み込まれると、現在設定されているキャッシュエンジンを使用してページがキャッシュされます。以降のページ読み込みでは、キャッシュが取得されてリクエスト元のユーザーのブラウザに送信されます。キャッシュの有効期限が切れている場合は、削除されて更新された後にブラウザに送信されます。

注記

Benchmarkタグはキャッシュされません。そのため、キャッシングが有効になっている場合でも、ページの読み込み速度を確認できます。

キャッシングの設定

キャッシュエンジンの設定

ウェブページキャッシングを使用する前に、**app/Config/Cache.php** を編集してキャッシュエンジンを設定する必要があります。キャッシュの設定 を参照してください。

$cacheQueryStringの設定

Config\Cache::$cacheQueryStringを使用して、キャッシュを生成する際にクエリ文字列を含めるかどうかを設定できます。

有効なオプションは次のとおりです。

  • false:(デフォルト)無効。クエリ文字列は考慮されません。URIパスは同じだがクエリ文字列が異なるリクエストに対して、同じキャッシュが返されます。

  • true:有効。すべてのクエリパラメータを考慮します。これにより、同じページに対して多数のキャッシュが繰り返し生成される可能性があることに注意してください。

  • 配列:有効ですが、指定されたクエリパラメータのリストのみを考慮します。例:['q', 'page']

キャッシングの有効化

キャッシングを有効にするには、コントローラーメソッドのいずれかに次のタグを配置します。

<?php

$this->cachePage($n);

ここで、$nは、ページを更新するまでのキャッシュ期間を**秒数**で指定します。

上記のタグはメソッド内のどこにでも配置できます。表示順序には影響されません。そのため、最も論理的な場所に配置してください。タグが配置されると、ページのキャッシュが開始されます。

重要

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

キャッシュの削除

ページのキャッシュを不要になった場合は、キャッシングタグを削除できます。削除すると、キャッシュは有効期限が切れても更新されなくなります。

注記

タグを削除しても、キャッシュはすぐに削除されません。通常どおり有効期限が切れるまで残ります。