PEAR Cache_Lite覚書
公開されているAPIデータから得られたデータからHTMLページを作成する時、表示を早くしてくれるのが、PEARの Cache_Liteです。
Cache_Liteにはいろいろな使い方があるようですが、ひとつは取得したデータをキャッシュして保存しておく方法。もうひとつは取得したデータからHTMLページとなったものをキャッシュとして保存しておく方法。覚書として。
1、ひとつは取得したデータをキャッシュに保存
APIのリクエストurlを$reqとする。
require_once('Cache/Lite.php'); //キャッシュIDのセット $cache_id ='[リクエストパラメーターなど]'; $cacheOptions = array( 'cacheDir' => dirname(__FILE__).'/cached/', 'lifeTime' => 24*3600, //デバッグ時は0に ); $objCache = new Cache_Lite($cacheOptions); if ($cache = $objCache->get($cache_id)) { $PHP_DATA = $cache; } else{ $huubuff = file_get_contents($req); $PHP_DATA = unserialize($huubuff); //APIデータがPHP形式の場合 $objCache->save($PHP_DATA,$cache_id); }
2、書き出したHTMLをキャッシュで保存
require_once('Cache/Lite.php'); $options = array( 'cacheDir' => dirname(__FILE__).'/cached/', 'lifeTime' => 24*3600, ); $cache_lite = new Cache_Lite($options); $cached_data = $cache_lite->get($cache_id); $cache_id = '[リクエストパラメーターなど]'; $cached_data = $cache_lite->get($cache_id); if ($cached_data) { echo $cached_data; } else { //リクエストURLからAPIデータ取得して処理 $XML_DATA = simplexml_load_file($req); //この場合XML形式のデータ処理 //データ処理HTML書き出しの前に ob_start();//スタート //----略----- $hu_text = ob_get_contents(); ob_end_flush();//書き出し終了 $cache_lite->save($hu_text, $cache_id); }
コメントを残す