Files
yii/docs/guide/ja/caching.overview.txt

71 lines
5.0 KiB
Plaintext

キャッシュ概要
=======
キャッシュはウェブアプリケーションのパフォーマンスを改善する、安価で効果的な方法です。
比較的静的なデータをキャッシュし、リクエストがあった際にそのキャッシュを利用することで、データを生成するための時間を抑える事ができます。
Yii におけるキャッシュの利用は、主として、アプリケーション初期設定とキャッシュアプリケーションコンポーネントへのアクセスに関係します。
次のアプリケーション初期設定は、2台のキャッシュサーバで memcache を使用するキャッシュコンポーネントを指定しています。
~~~
[php]
array(
......
'components'=>array(
......
'cache'=>array(
'class'=>'system.caching.CMemCache',
'servers'=>array(
array('host'=>'server1', 'port'=>11211, 'weight'=>60),
array('host'=>'server2', 'port'=>11211, 'weight'=>40),
),
),
),
);
~~~
アプリケーションが動作しているときは、`Yii::app()->cache` でキャッシュコンポーネントにアクセスできます。
Yii は、異なるメディアにキャッシュデータを保存することができる、多様なキャッシュコンポーネントを提供します。
たとえば、[CMemCache] コンポーネントは PHP memcache 拡張をカプセル化し、キャッシュストレージのメディアとしてメモリを使用します。
[CApcCache] コンポーネントは、PHP APC 拡張をカプセル化します。
[CDbCache] コンポーネントは、キャッシュデータをデータベースに保存します。
以下は、利用可能なキャッシュコンポーネントの概要です:
- [CMemCache]: PHP [memcache 拡張](http://www.php.net/manual/en/book.memcache.php) を使用します。
- [CApcCache]: PHP [APC 拡張](http://www.php.net/manual/en/book.apc.php) を使用します。
- [CXCache]: PHP [XCache 拡張](http://xcache.lighttpd.net/) を使用します。
- [CEAcceleratorCache]: PHP[EAccelerator拡張](http://eaccelerator.net/) を使用します。
- [CDbCache]: データベーステーブルを使用してキャッシュデータを保存します。
デフォルトでは、ランタイムディレクトリ下に SQLite3 データベースを作り、使用します。
[connectionID|CDbCache::connectionID] プロパティを設定することで、明示的にデータベースを指定することができます。
- [CZendDataCache]: キャッシュメディアとして [Zend Data Cache](http://files.zend.com/help/Zend-Server-Community-Edition/data_cache_component.htm) を使用します。
- [CFileCache]: キャッシュされたデータとしてファイルを使用します。これはページのような大きな単位のデータに好都合です。
- [CDummyCache]: なにもキャッシュを行わないダミーキャッシュを提供します。
このコンポーネントの目的は、キャッシュを利用できることをチェックする必要があるコードを簡素化することです。
たとえば、開発中やサーバに実際のキャッシュサポートがない際に、このキャッシュコンポーネントを使用できます。
実際のキャッシュサポートが有効になった際に、対応するキャッシュコンポーネントに切替えて使用することができます。
どちらの場合も、`Yii::app()->cache` が `null` かも知れないと心配せずに、データを取得するために同じコード `Yii::app()->cache->get($key)` を使用できます。
> Tip|ヒント: これら全てのキャッシュコンポーネントは同じベースクラス [CCache] より継承されているため、コードの修正なしに、異なるタイプのキャッシュを利用する事ができます。
キャッシュは、異なるレベルで使用することが可能です。
一番弱いレベルでは、変数のような、単一のデータを保持するためにキャッシュを利用し、これを **データキャッシュ** と呼びます。
次のレベルでは、キャッシュにビュースクリプトの一部で生成されたページの断片を保持します。
また、一番強いレベルでは、キャッシュにページ全体を保持し、キャッシュが必要な際にそれを利用します。
次のいくつかの節では、これらのレベルにキャッシュを使用する方法を詳しく述べます。
> Note|注意: 定義によって、キャッシュは揮発性のストレージメディアです。
それは、有効期限内であっても、キャッシュデータの存在を保障しません。
したがって、永続的なストレージとしてキャッシュを使用しないでください (たとえば、セッションデータを保存するために、キャッシュを用いてはいけません)。
<div class="revision">$Id$</div>