コンテンツの読み込みに時間がかかっています

a-blogの負荷軽減のためにCache_Liteを利用してみる その1

a-blogでMySQLへのアクセス負荷を減らすためにPEARのCache_Liteを利用してキャッシュをする処理を作ってみた。とりあえず、以下のサンプルではアクセス数のカウントやリファラーの保存、ケータイのテーマの切り替えが動作しなくなります。


<?PHP

	require('Cache/Lite.php');
	
	$cacheOptions = array(
		'cacheDir'               => './cache/',
		'caching'                => 'true',
		'automaticSerialization' => 'false',
		'lifeTime'	             => 1800,
		'automaticCleaningFactor' => 20,	
		'hashedDirectoryLevel'    => 1,	
	);
	
	foreach ($_POST as $name => $data) {
		$postData .= "_".$name."=".$data;
	}
	
	$cacheID = $_SERVER['REQUEST_URI'].$postData;
	
	$cache=new Cache_Lite($cacheOptions); 
	
	if( $cache_data=$cache->get($cacheID) ){
	    $buff = $cache_data;
		print $buff;
	} else {
		ob_start();
		include ("./a-blog.php");
		$buff = ob_get_contents();
		$cache->save($buff);
	}

?>

上記を index.php として、もともとの index.php を a-blog.php とリネームします。 cacheというディレクトリを作りプログラム側がファイルを作れるようなパーミッション777とかにして下さい。PEAR の Cache_Lite をサーバーにインストールするか、Cache_Lite をダウンロードして、a-blog の動作させているディレクトリ内に Cache というフォルダを作り、中にダウンロードしてきた Lite.php を入れて下さい。


これで、一応動作するんじゃないかと思います。 最初に書いた問題点を、明日の朝には解決して、このブログに利用してみようと思います。 その2に続く...


関連記事

この記事のハッシュタグ から関連する記事を表示しています。

動的を静的にしてみる事も考えてみよう

a-blogでLGPLのText_Wikiは利用してもいいのか?

ユーノスロードスター

lightbox から prettyPhoto に変更しました

a-blogのカスタマイズ勉強会

a-blogにはライター一覧を表示する機能があります

a-blogでログイン画面を一般の人にアクセスできないようにする方法