キャッシュ機構 その2 - PEAR::Cache::Lite

先日は、キャッシュ機構その1 - memcached ということで、memcachedを試したのだけど、memcachedの様にメモリベースのキャッシュではなくて、ファイルベースのキャッシュ機構だと、PEARのライブラリにPEAR::Cache::Liteというのがあるので試してみる。
前回、その1と書いたのは、こちらを見つけていたから。

[補足]2009.4.2
メソッド呼び出しの結果をキャッシュする場合は、Cache_Lite_Functionというクラスがあります。
詳しくは下記をご覧ください。
http://d.hatena.ne.jp/hideack/20090402#1238689560


PEARライブラリに登録されているライブラリなので、pearコマンドでインストールできる。
お約束通り、

% pear install pear_cache

で、OK。
まぁ、使い方はドキュメントを見れば一目瞭然なのだけど、簡単に書いてみると...。

<?php
require_once('Cache/Lite.php');

$opt = array(
	'cacheDir' => '/Users/hideack/tmp2/cache/',	// Cache情報の保管先
	'lifeTime' => 60,				// Cacheの有効期限(秒)
	'automaticCleaningFactor' => 100,		// 有効期限切れのキャッシュの削除確率
	'hashedDirectoryLevel' => 2,			// ハッシュ保管先の深さ
);

$cache = new Cache_Lite($opt);
$id = "portalpage";

if ($data = $cache->get($id)) {
	//キャッシュが存在する場合は、キャッシュの内容を表示
	print($data);
}else{
	//キャッシュが存在しないので表示内容を作る (DBにアクセスするとかフォーマットする等重い処理をする)
	$data = "PEAR::Cache::Lite demo";
	print($data);
	$cache->save($data);
}
?>

てな具合である。
お気楽に使えてよいです。
が、PEARのページに "This package is not maintained,..."となっているのが幾分気になるところではあります。