top


総投稿数 本 
no_

スポンサーサイト

 --------
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
カテゴリ :スポンサー広告 トラックバック(-) コメント(-)
no_220

Amazon Webサービス その2:キャッシュの設定 ・・・ 【AmazonECS4】

 2008-09-13
 久しぶりの「創る(創ってる)」ネタ。 ・・・ お恥ずかしい。
 「創るmetaboy」 だろうが!

 さて、先日作成した、オリジナルサイトにての
 「Amazon WebService」を
 利用したテストスクリプト・・・ その2です。

Amazon WebService TEST の改造 ( Services_AmazonECS4 )

まず、
◆キャッシュの設定
 ※先日抜かしていましたが、実は、はまっていたのです。

 ■基本的な仕組みとソース
  基本的には、ソース内で
//( 略:詳細は先回をご参照 )
## Pearモジュール組込
require_once '(私は自分の専用スペースに入れたのでここは絶対パス)/Services/AmazonECS4.php';
//(の後に)

require_once '(私は自分の専用スペースに入れたのでここは絶対パス)/Cache.php';
//(としておいて)
//(中略)

### 利用する
## サービスを、Pear通して利用する
$service = new Services_AmazonECS4(ACCESS_KEY_ID, ASSOC_ID);
//(の後に)

$amazon->setCache('file',array('cache_dir' => '/cache/'));
$service->setCacheExpire(86400); // 86400 seconds = 24 hours
//と入れるだけだ。
//ほとんどの他の方のレポートもこうだ。

>しかし、はまった

 ・どうしても setCache のところで止まってしまう

 ?(利用している)XREAが原因か?
   ・セーフモードがどうこう といってたなぁ
   ・いや、違う。利用している方もいるらしいし・・・
 ?Pear の Cache の部分が古いのか?
   ・いや、そんなことはないはずだ
 ?cacheフォルダのパーミッションか
   ・一度 777 にしてみる
   ・中は空


 ?>じっくりと ソースを追ってみる

 ・(理解している方には何ともないでしょうが)
 丁寧にソースを追って次のことをまず理解

  ・ここで呼ばれる setCache 関数は
   (pear格納ディレクトリ)/php/Services/AmazonECS4.php
  の中にあり、ここで、

//( 今回require_once した Cache.phpの ) Cache関数を
function setCache($container = 'file', $container_options = array())
{
if(!class_exists('Cache')){
@include_once 'Cache.php';
}
@$cache = new Cache($container, $container_options);
if (is_object($cache)) {
$this->_cache = $cache;
} else {
$this->_cache = null;
return PEAR::raiseError('Cache init failed');
}
return true;
}

のように読んでいる。
そうか、なぁ~んだ。パスだ。

pear を最初に入れたとき、.htaccess で、
php_value include_path ".:/usr/local/lib/php:/(セットしたpearディレクトリ)/php"

としたが、これが効いていないのだな。

そこで、スクリプトの最初に
define('DIR_PEAR_PHP', '/(セットしたpearディレクトリ)/php/');
ini_set("include_path",DIR_PEAR_PHP . ini_get("include_path"));

と、改造

 ▼

 ・動いた! 見た目は変わらないけど、キャッシュが利用されているはずだ

 ところで、この「キャッシュ設定」
 ・同一リクエストの重複を減らし,AWS サーバ負荷軽減を図り
 ・利用者の体感スピードを早くするためのものだが
$amazon->setCacheExpire(86400); // 86400 seconds = 24 hours

 このような記述例が多く見られる
 ・キャッシュの保持時間(秒) を設定しているわけだ。
 ・(上記例では)24時間= 86400秒

 AmazonWebService の利用規定では
(以下、引用転載:Amazon Webサービス(TM)カスタマー契約
5.1.12. お客様は、24時間まで、データキャッシュの目的でAmazonの知的財産一般(価格情報および発送可能時期についての情報を除きます。)を格納することができます。

とあり、基本的に24時間までのようだ。
※今後の利用頻度や目的に応じて調整することとしよう

 さてと、次は
 「頁遷移」だな ・・・


◎基本的な利用サンプル◎

from 創ったmetaboy

FC2ブログランキングにほんブログ村 IT技術ブログ Webサイト構築へブログ王ランキング人気ブログランキング人気ホームページランキングへ


commentsコメント
comment_post












管理者にだけ表示を許可する
commentトラックバック
トラックバックURL:
http://metaboy.blog23.fc2.com/tb.php/220-6aae0873
ようこそ
Add to Google 創るmetaboy:RSSフィード
My Yahoo!に追加
最新記事のRSS | 問い合わせ

仕事検索、アルバイト検索、依頼仕事の検索ポータル - 仕事検索.COM - www.jobkensaku.com ツクルン

創るmetaboy - WEB創る、サイト創る、何創る - 創ったmetaboy

 

リンク集

 

最近の記事

 

ブロとも申請フォーム
Sponserd by

さくらのレンタルサーバ さくらのレンタルサーバ
大容量・高機能レンタルサーバー heteml 大容量・高機能レンタルサーバー heteml
XREA (ValueDomain)
お名前.com お名前.com
名づけてねっと名づけてねっと
ムームードメインムームードメイン

 

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。