API キャッシュの設定

電脳備忘録

本記事のソースコードの利用によって生じた損害について、当方は一切の責任を負いません。ご自身の判断と責任のもとで参照・ご利用ください。

この記事は最終更新から3年以上経過しています。

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ディレクトリにキャッシュが作られているようなので、うまくいっているとは思いますが、しばらく様子を見たいと思います。

0%