有这个课程:
class Cacher
{
private static $memcacheObj = NULL;
public static function GetInstance()
{
if (self::$memcacheObj === NULL)
{
self::$memcacheObj = new Memcache;
self::$memcacheObj->addServer(Configs::memcache_addr);
}
return self::$memcacheObj;
}
public static function Set($key, $var, $flag = 0, $expire = 0)
{
self::GetInstance()->set($key, $var, 0, $expire);
}
public static function Get($key, $flag = 0)
{
self::GetInstance()->get($key);
}
}
使用这样的方法,它不起作用,在刷新页面时没有从Cacher :: Get中检索到任何内容:
$keyValue = Cacher::Get('key_name');
if(empty($keyValue))
{
Cacher::Set('key_name', 'key_value', 0, 0);
}
else
{
echo "Got value : $keyValue";
}
但是下面的代码可以使用:
$keyValue = Cacher::GetInstance()->get('key_name');
if(empty($keyValue))
{
Cacher::GetInstance()->set('key_name', 'key_value', 0, 0);
}
else
{
echo "Got value : $keyValue";
}
有人可以帮我这个吗?非常感谢!
答案 0 :(得分:2)
您没有在Get中返回结果。应该是:
public static function Get($key, $flag = 0)
{
return self::GetInstance()->get($key);
}