<?php
echo "memcachedのテスト<br/>\n";

if (class_exists('Memcache')) {
/*
	$memcache = new Memcache;
	$memcache->connect('localhost', 11211) or die ("接続できませんでした");
	echo "<pre>";
	var_dump($memcache);
	echo "</pre>";
	$version = $memcache->getVersion();
	echo "サーバのバージョン: ".$version."<br/>\n";
*/	
	$tmp_object = new stdClass;
	$tmp_object->str_attr = 'test';
	$tmp_object->int_attr = 123;
	$test_str = 'test';
	echo "データをキャッシュに保存します (データの有効期限は 10 秒です)<br/>\n";
	
	/*
	if(!$memcache->set('str', $test_str, false, 30))
		echo "Stringデータをサーバに保存できませんでした<br>\n";
	if(!$memcache->set('key', $tmp_object, false, 10))
		 echo "Objectデータをサーバに保存できませんでした<br>\n";
	$get_result = $memcache->get('key');
	*/
	
	$memcache_obj = memcache_connect('localhost', 11211);
	echo "サーバのバージョン: ";
	echo memcache_get_version($memcache_obj);
	echo "<br/>\n";
	memcache_set($memcache_obj, 'var_key', 'some variable', 0, 30);
	$get_result = memcache_get($memcache_obj, 'var_key');

	echo "キャッシュから取得したデータ:<br/>\n";	
	var_dump($get_result);
} else {
	echo <<<MESSAGE

memcacheがインストールされていません<br>
<br>
Download & Install<br>
<br>
libevent<br>
http://www.monkey.org/~provos/libevent/<br>
# ./configure<br>
# make<br>
# make install<br>
<hr>
memcached<br>
http://www.danga.com/memcached/<br>
# ./configure --prefix=/usr/local/memcached<br>
# make<br>
Mac OS Xでは以下のWarnigが出る<br>
/usr/bin/ld: warning -L: directory name (/lib) does not exist<br>
# make install<br>
起動<br>
# /usr/local/memcached/bin/memcached -d -m 256 -l 127.0.0.1 -p 11211 -u tomoyun<br>
<hr>
pecl memcache<br>
# pecl install memcache<br>
<hr>
php.ini以下を追加<br>
------------------------------<br>
[memcached]<br>
extension=memcache.so<br>
------------------------------<br>
# apachectl restart<br>
MESSAGE;

}


?>