キャッシング
ある程度の規模のWebサイトとなると、データベースアクセスやデータ処理のため
システム負荷が高まり、サービスの提供が困難となってきます。
このような問題を解決するためには、データ「キャッッシング」技術を利用すると有効です。
この章では、CodeIgniterによる いくつかのキャッシング技術の利用方法を解説いたします。
APC
APCは「Alternative PHP Cache」
というPHPから共有メモリにアクセスするための技術です。
PHPモジュールとしてインストールされている必要があります。
共有メモリを利用するため大変高速に動作します。
しかし、当然、他のサーバから共有メモリにアクセスすることはできませんので、
データの共有は、同じサーバ上の同じWebアプリケーションからのみ可能となります。
(同じサーバ上でも親プロセスIDが同一でないと共有メモリにはアクセスできません。
そのため、HTTPサーバ(Apacheなど)で受けたリクエスト処理で利用したキャッシュデータに
CLI(コマンドライン)プログラムからアクセスすることもできません。)
Memcached
「Memcached」はオープンソースのキャッシュサーバです。
別途、Memcachedサーバを構築する必要があります。
ネットワーク越しにキャッシュデータにアクセスすることができるため、複数のWebサーバから
共有データにアクセスすることが可能ですが、ネットワーク接続のリソースコストが発生します。
ファイルキャッシュ
ローカルのディスクを利用してデータをキャッシュします。 そのため、特に必要な準備はありません。
ローカルディスクを利用するため、HDDではディスクI/Oのリソースコストが発生します。