キャッシュを扱うためのライブラリ。
キャッシュのエンジンといしてFile,APC,Xcache,Memcacheが用意されています。他のエンジンは自作する事も出来るようです。


core.phpの下の方に設定サンプルが記載されています。

主なメソッド

  • config($name = null, $settings = array())
  • read($key, $config = null)
  • write($key, $value, $config = null)

config($name = null, $settings = array())

キャッシュを設定します。複数の設定を行なう事が出来ます。キャッシュの読み書きの際には$nameを使用できます。

パラメータ

$settingsで指定できるパラメータはエンジンによって異なりますが、次のようなパラメータがあります。

パラメータ 初期値
engine 初期値なし
prefix 'cake_'
duration 3600(秒)
probability 100

read/write

キャッシュの書き込みおよび読み込みを行ないます。任意で実行時にどの設定を利用するか$configで指定できます。


デフォルトでは次のような設定になっています。
core.php

Cache::config('default', array('engine' => 'File'));

APCでキャッシュを行なう

APCが有効なサーバーではAPCを使ってキャッシュを行なう事が出来ます。
デフォルトのキャッシュ設定に加え、外部からRSSを取得する際は24時間キャッシュする、という例です。


設定(core.php)

 Cache::config('rss', array(
    'engine' => 'Apc', //エンジンにAPCを指定
    'duration'=> 86400, //有効期間24時間


ロジック

$rssUrl = 'URL of RSS'; //RSSのURL
$contents = Cache::read($rssUrl,'rss');//キャッシュの読み込み
if ($contents!== false) {
    return $contents;//キャッシュが見つかった

}
//キャッシュが無かった場合
$input = file_get_contents($rssUrl);
$xml = new Xml($input);
$xmlAsArray = Set::reverse($xml);

Cache::write($rssUrl,$xmlAsArray,'rss');//キャッシュの書き込む

API:Cakephp1.3::Cache

CakePHP Note (v1.3)

Index