このエントリーをはてなブックマークに追加

更新日: 2016年2月25日

実行時間: 0.0070

キャッシング

 ある程度の規模のWebサイトとなると、データベースアクセスやデータ処理のため
システム負荷が高まり、サービスの提供が困難となってきます。
 このような問題を解決するためには、データ「キャッッシング」技術を利用すると有効です。

 この章では、CodeIgniterによる いくつかのキャッシング技術の利用方法を解説いたします。

APC

 APCは「Alternative PHP Cache」 というPHPから共有メモリにアクセスするための技術です。
 PHPモジュールとしてインストールされている必要があります。

 共有メモリを利用するため大変高速に動作します。
 しかし、当然、他のサーバから共有メモリにアクセスすることはできませんので、 データの共有は、同じサーバ上の同じWebアプリケーションからのみ可能となります。

(同じサーバ上でも親プロセスIDが同一でないと共有メモリにはアクセスできません。
そのため、HTTPサーバ(Apacheなど)で受けたリクエスト処理で利用したキャッシュデータに
CLI(コマンドライン)プログラムからアクセスすることもできません。)

Memcached

 「Memcached」はオープンソースのキャッシュサーバです。
 別途、Memcachedサーバを構築する必要があります。

 ネットワーク越しにキャッシュデータにアクセスすることができるため、複数のWebサーバから
共有データにアクセスすることが可能ですが、ネットワーク接続のリソースコストが発生します。

ファイルキャッシュ

 ローカルのディスクを利用してデータをキャッシュします。  そのため、特に必要な準備はありません。

 ローカルディスクを利用するため、HDDではディスクI/Oのリソースコストが発生します。