API キャッシュの設定

電脳備忘録

APIをキャッシュし、負荷を軽減する施策をとるのを忘れていました。早めに気がついてよかったです。
こちらのエントリーを参考にして対応してみたので備忘録として残しておこうと思います。

お約束

ごむをはPHP独習中の素人なので参照は自己責任でお願いします。

Cache_Liteをインストールする

サーバに「Cache_Lite」をインストールします。サーバOSはCentOS5.4です。

 # pear install Cache_Lite
-bash: pear: command not found

そんなコマンドはないと怒られました。先に「php-pear」をインストールしておく必要があるようです。

# yum install php-pear

php-pearをインストールが完了したので、再度「Cache_Lite」のインストールを実施します。

Cache_Liteの設定

インストールが完了したので設定を行いました。API提供元サーバにコールするためのコードを修正。

// Cache_Liteインクルード
require_once "Cache/Lite.php";
//キャッシュオプション設定
$cacheOptions = array(
'cacheDir' => './tmp/',   //tmpディレクトリに設定
'lifeTime' => '3600',     //1時間に設定
);
//キャッシュID設定
$id = "area";
//Cache_Liteオブジェクト生成
$Cache_Lite = new Cache_Lite($cacheOptions);
//キャッシュがあるかどうかテスト
if($data = $Cache_Lite->get($id)){
//有効なキャッシュがある場合の処理
// キャッシュデータを表示
echo $data;
}else{
/有効なキャッシュがない場合の処理
//データをキャッシュ保存
$Cache_Lite->save($data,$id);
}//IF終了

とりあえず、各APIのコール部分に設定してみました。/tmpディレクトリにキャッシュが作られているようなので、うまくいっているとは思いますが、しばらく様子を見たいと思います。

広告

ブログの維持費に充てるでございます・・・。