Cache_Liteを簡単に使う独自のPHP関数

スポンサーリンク
スポンサーリンク
ライフスタイル関連のコンテンツ
お金 | 仕事 | 勉強 | プライベート | 健康 |
プログラミング関連のコンテンツ
C言語/C++入門 | Ruby入門 | Python入門 | プログラミング全般

頻繁に書くようなコードは、自作の関数で定義しておくと、呼び出しがとても簡単で楽になります。
APIを使ったサイトを作るうえでは、キャッシュ機能を用いるケースが多いです。
PHPの場合、PEARのCache_Liteライブラリがとても便利なのですが、キャッシュ機能は頻繁に使うので、自作の関数を作ってみた。
”キャッシュ期間”、”キャッシュディレクトリ”、”クリーニング値”の3つの引数を渡して呼び出し、Cache_Liteオブジェクトを返します。

スポンサーリンク

********* w_cl()関数 **********
キャッシュ機能。Cache_Liteオブジェクトを返す。
@パラメータは以下の3つ
$cache_period    キャッシュの保存期間。デフォルト値:86400(24*3600)
$cache_dir       キャッシュ保存先のディレクトリ。デフォルト値:cached/
$clean           期限切れキャッシュの自動クリーニング(20~200)。デフォルト値:100
**********************************/
function w_cl($cache_period=86400, $cache_dir='cached/', $clean=100) {
    //Cache_Liteに渡す配列
    $options = array(
        'cacheDir' => $cache_dir,
        'caching' => true,
        'lifeTime' => $cache_period,
        'automaticCleaningFactor' => $clean
    );
    return new Cache_Lite($options);
}

で、使うときは、デフォルトの場合・・・

//Cache_Liteライブラリの読み込み
include_once 'Cache/Lite.php';
//w_cl関数でCache_Liteオブジェクト作成
$cache = w_cl();
//キャッシュID
$cache_id = 'data';
$cache_data = $cache->get($cache_id);
if($cache_data){
    //キャッシュがある場合、キャッシュ内容を表示
    echo $cache_data;
}else{
    //キャッシュがない場合の処理
    処理1;
    処理2;
    ・・・
    //キャッシュへ保存
    $cache->save($text, $cache_id);
}

キャッシュ期間を”1週間”、キャッシュディレクトリを”tmp/”、キャッシュをもっと削除する(クリーニング値を高くする)場合は・・・

//Cache_Liteライブラリの読み込み
include_once 'Cache/Lite.php';
//w_cl関数でCache_Liteオブジェクト作成
$period = 24*3600*7;
$dir = 'tmp/';
$cln = 200;
$cache = w_cl($period, $dir, $cln);
//キャッシュID
$cache_id = 'data';
$cache_data = $cache->get($cache_id);
if($cache_data){
    //キャッシュがある場合、キャッシュ内容を表示
    echo $cache_data;
}else{
    //キャッシュがない場合の処理
    処理1;
    処理2;
    ・・・
    //キャッシュへ保存
    $cache->save($text, $cache_id);
}

こんな感じで使うと、若干コードが短くなるかな・・・と。

スポンサーリンク
 
スポンサーリンク