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);
}

Yomi-Search メモ Yomi-SearchのDBクラスを利用して特定のカテゴリを表示

忘れないための備忘録として

ローカル環境で試すため、あらかじめclass>db.phpにローカルのデータベース設定。Yomi-Searchの中でテンプレート無しで実行できるsitemap.phpを利用。
sitemap2.phpとかで保存。
function_reg.phpの内容を確認する場合もあるので
// インクルードの設定に

require './functions_reg.php';

も加えておく。
カテゴリpath 「50/01/」のタイトルを表示したい時、sitemap2.phpに

$Cate_key = "50/01/";

$query = "SELECT title,path, regist FROM {$db->db_pre}category WHERE path='{$Cate_key}'";

		$row = $db->single_assoc($query);
		$Cate_title= $row['title'];
echo $Cate_title;

とするとカテゴリpath「50/01/」のタイトルが表示される。
カテゴリ登録関係の仕組みを変えたかったので試してみました。