Ramdom Entry Pickup
- とりあえずコンプリート?? (2005年03月13日)
- 実用化が近づく携帯電話向け燃料電池(BlogPet) (2005年07月16日)
- タガタメニ・・・・ (2006年07月28日)
- パニックを起こさないことが大事 (2005年08月24日)
- 「Google Analytics」のプロファイル数を50まで拡張可能に! (2006年09月19日)
« ガチャピン・ミニぬいぐるみマスコット | メイン | 初めてのセルフガソリンスタンド »
先日、Tagwireを導入して、Tag Cloudページを作成したのですが、
この検索機能にキャッシュを設けることができるというのを、
参照ページを読み進めていって、初めて知りました(^^;)
導入することにより、以下の効果が期待できるそうです。
導入は至って簡単です。
まず、Perlモジュールとして、「CGI:Cache」がサーバーに入っていない場合、
インストールします。
次に、「mt-xsearch.cgi」を編集します。
my $mt = MT->new( Config => $MT_DIR . 'mt.cfg', Directory => $MT_DIR )
or die MT->errstr;
my $q = new CGI;
CGI::Cache::setup({ cache_options => { cache_root => './cache', default_expires_in => 3600 } });
my $blog_id = $q->param('blog_id') or
die "Missing parameter blog_id";
my $key = $q->param('search_key') or
die "Missing parameter key";
CGI::Cache::set_key($q->Vars);
CGI::Cache::start() or exit;
my $search = MT::XSearch->execute($q);
my $tmpl = MT::Template->load( {
name=>'XSearch '.$key,
$ctx->stash('CGI',$q);
my $out = $tmpl->build($ctx)
or die "Building search template failed: ".$tmpl->errstr;
print $q->header.$out;
my $charset = $mt->{cfg}->PublishCharset;
my @m = qw(Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec);
my @w = qw(Sun Mon Tue Wed Thu Fri Sat);
my ($sec, $min, $hour, $mday, $mon, $year, $wday) = gmtime(time);
my $now = sprintf("%3s, %02d %3s %04d %02d:%02d:%02d GMT",
$w[$wday], $mday, $m[$mon], $year+1900, $hour, $min, $sec);
print $q->header(-charset=>$charset,-Last_Modified=>$now).$out;
CGI::Cache::stop();
};
if ($@) {
print "Content-Type: text/html\n\n";
赤文字を削除し、青文字を追加します。
緑文字はご自分の環境に合わせて変更なりしてください。
ちなみに、緑文字の部分は、
キャッシュをため込むディレクトリと、リフレッシュする時間です(秒)。
Link HTML:
トラックバックURL: