自宅サーバの整理箱

自宅サーバを構築しwordpress,fedora,CentOSの作業メモ

*

Cache_Liteで楽天API,AmazonAPI,Twetterをキャッシュし高速化

   

楽天APIやAmazonAPI、TwitterAPIを使ってWebサイトを構築していますが、使用制限に時間当たりの問合せ数の縛りがあります。
またサーバ処理量削減のためにもキャッシュを使うことを自宅サーバのページに盛り込みましたので備忘録です。

Cache_Liteを使いますので、以下のコマンドでインストール。

pear install Cache_Lite

あとはWebAPI処理に以下の感じでキャッシュ処理をいれます。
$fileはWebAPIのリクエストURLにします。
$dataはWebAPIの問合せ結果をfile_get_contents($file)で取得した結果です。

                /* Chache対応 20140813 */

               require_once 'Cache/Lite.php';

                $cacheOptions = array (
                    'cacheDir' => '/tmp/chache/',
                    'lifeTime' => '3600',
                    "automaticCleaningFactor" => "20",
                );

                $cacheId = $file;
                $objCache = new Cache_Lite($cacheOptions);

                if ($cache = $objCache->get($cacheId)) {
                    $data = $cache;
                }
                else{
                    $data = file_get_contents($file);
                    $rtn = $objCache->save($data,$cacheId);
                }
                /* Chache対応 end */

①キャッシュオブジェクトの生成
②リクエストURLでキャッシュファイルを検索しなければAPI実行し
問合せ結果をキャッシュファイルへ保存。
キャッシュ検索し存在すればキャッシュからロード。
すごく簡単にキャッシュ対応できました。
これはよい!

 - Word Press

 Total 122 views