<?php

mb_internal_encoding('utf-8');
mb_http_input('pass');
mb_http_output('pass');

$memcache = &memcacheFactory();
echo "<pre>";
var_export($memcache->getExtendedStats());

/**
* Memcacheインスタンスの生成
*
* - $memcache = &memcacheFactory();
* - php.ini に設定してあるmemcachedの設定をそのまま引き継ぐ
* - php.ini
session.save_handler = memcache
session.save_path = "tcp://server1:11211, tcp://server2:11211"
*/
function &memcacheFactory($options=array())
{
	static $singleton_ = null;
	if( !isset($singleton_) ){
		$singleton_ = new Memcache;
	}else{
		return $singleton_;
	}
	
	$save_handler = ini_get('session.save_handler');
	$save_path =  ini_get('session.save_path');

	if ($save_handler != 'memcache'){
		return $singleton_;
	}
	
	$servers = split(',', $save_path);
	foreach($servers as $key => $server){
		if( preg_match("#tcp://([\w\.\-\_]+):(\d+)#i", $server, $matches) ){
			$singleton_->addServer($matches[1], intval($matches[2]));
		}
	}
	
	return $singleton_;
}
