2010年4月15日木曜日

phpのキャッシュ

PEARのCacheを使用。
XAMPPなら、最初からインストールされてるので、
設定は必要なさそう。

以下サンプル

require_once 'Cache/Lite.php';

function cachecheck($url){
    // 設定項目
    $cacheOptions = array (
        'cacheDir' => 'c:\tmp\\', // キャッシュが保存される場所
        'lifeTime' => 3600, // 指定した秒数はキャッシュを使う、nullにすると無期限。3600は、一時間
    );

    //$url = 'http://www.yahoo.co.jp/';
    $cacheId = $url;

    $objCache = new Cache_Lite($cacheOptions);

    if ($cache = $objCache->get($cacheId)) {

        $buf = $cache; // キャッシュが見つかったときはここで代入

    } else {
        // キャッシュがなかったとき、lifeTimeより古くなっているときはここで処理
        $buf = @file_get_contents($url);
        $objCache->save($buf, $cacheId); // キャッシュとして保存
    }
    return $buf;

}