鼠笼管理系统
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

55 lines
1.1 KiB

<?php
/**
* MemCache 缓存
*/
class Cache_Memcache{
private static $mem;
/**
* 构造函数
*/
public function __destruct(){
self::$mem->close();
}
/**
* 单例接口
* @param string $pConfig 服务器配置
* @return Memcache
*/
static function &instance($pConfig = 'default'){
if (!isset(self::$mem[$pConfig])){
//配置
$tMC = Yaf_Registry::get("config")->mc->$pConfig->toArray();
//连接
self::$mem[$pConfig] = new Memcache();
self::$mem[$pConfig]->pconnect($tMC['host'], $tMC['port']) or self::$mem[$pConfig] = null;
}
return self::$mem[$pConfig];
}
/**
* 取缓存
* @param $pKey
* @return array|string
*/
static function get($pKey, $pField = ''){
if(!$pField) return Cache_Memcache::instance()->get($pKey);
if($tData = Cache_Memcache::instance()->get($pKey)){
if(isset($tData[$pField])) return $tData[$pField];
}
return false;
}
/**
* 取缓存
* @param $pKey
* @param $pVal
* @param int $pExp
* @return bool
*/
static function set($pKey, $pVal, $pExp = 3600){
return Cache_Memcache::instance()->set($pKey, $pVal, $pExp);
}
}