« 税金の簡易計算機を作ってみた木曽越峠までいってきた »

PEAR::Cache_Liteを使ってみる

PEAR::Cache_Liteを使ってみる

パーマリンク 2009/11/11 23:22:13 著者: kumaold メール
カテゴリ: プログラミング, PHP

CakePHPだと標準のキャッシュ機能が便利でよく使っていますが、CakePHPの使えない環境で簡単に似たようなことができないか調べてみました。

PEARのライブラリにCache_Liteというのがあり、これで安全でお手軽なデータキャッシュが実装できます。


使い方も非常に簡単です。サンプルコードを置いときます。

// PEAR::Cache_Lite
require_once 'Cache_Lite.php';
$option = array(
    'cacheDir' => './cache/',  // キャッシュの保存場所(パーミッション707以上)
    'lifeTime' => 60 * 60,     // キャッシュの生存期間[秒]
);
$cache = new Cache_Lite($option); 

$cache_id = $url;
// キャッシュにデータがあれば利用
if ($data = $cache->get($cache_id, 'group')) {
    $html = $data;
// なかったのでデータを取得し、キャッシュする
} else {
    $tmp = file_get_contents($url);
    $cache->save($tmp, $cache_id, 'group');
    $html = $tmp; 
}

echo $html;

Cache_Lite::get ($id, 'group') 指定IDのキャッシュを返す
Cache_Lite::save ($data, $id, 'group') データを指定IDでキャッシュ

'group'でキャッシュのグループ化をすることで、同一ディレクトリに複数アプリからのデータをキャッシュをする場合での名前衝突を防ぎます。


ドキュメントには"高トラフィックな Web サイト向けに最適化されていますので、本当に高速でかつ安全です"とあるので、汎用的に使えそうです。

PEAR入門 PHP標準ライブラリを極める!PEAR入門 PHP標準ライブラリを極める!
翔泳社 2005-09-09
売り上げランキング : 121398
おすすめ平均

type="text/javascript" src="http://www.ad16.jp/socailmedia.php?a=CCBot%2F2.0+%28http%3A%2F%2Fcommoncrawl.org%2Ffaq%2F%29&u=http%3A%2F%2Fkuroutoshikou.blog16.jp%2Findex.php%2F2009%2F11%2F11%2Fpear_cache_litea_afia_pa_ba_ia" charset="EUC-JP">

一六社で働くITエンジニアのブログ。

普段はWeb系システム開発と地元のPCサポートをやってます。いつの間にやら会社に8年目。
技術ネタ中心に日々の仕事と生活と趣味やらを気が向いたら書いてます。

2017年3月
 << <   > >>
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  

検索

XMLフィード

16ブログ     b2