php 使用单例模式创建Memcache对象

<?php
/*
php 使用单例模式创建Memcache对象
*/
class Cacher
{
private static $memcacheObj = NULL;
//单例模式
public static function GetInstance()
{
if (self::$memcacheObj === NULL)
{
self::$memcacheObj = new Memcache;
self::$memcacheObj->addServer('localhost', 11211);
}
return self::$memcacheObj;
}
//set静态方法
public static function Set($key, $var, $flag = 0, $expire = 0)
{
self::GetInstance()->set($key, $var, 0, $expire);
}
//get静态方法
public static function Get($key, $flag = 0)
{
return self::GetInstance()->get($key);
}
}
//使用方法
$keyValue = Cacher::Get('key_name');
if(empty($keyValue))
{
Cacher::Set('key_name', 'key_value', 0, 0);
}
else
{
echo "Got value : $keyValue";
}