我想写一个封装memcache类继承原始的memcache类 并且把其他的get方法和set方法重写 其中的key 值加一个 版本号content方法连接到localhost 使用memcache_ini()代替 memcache的content方法
解决方案 »
- php服务器
- dedeV5.6、5.7如何移动文章后删除原生成的HTML文件呢?
- 上传图片功能 拿到虚拟空间服务器 不好使了。。急 急 急
- zend framework 配置
- 成都WEB项目招标--电子商务交易跟踪系统
- 有zencart大手么
- 关于PHP调用打印机问题
- coreseek python数据源 读取mssql数据库 建立索引
- swoole只能在命令格式 下执行吗
- php,wamp,表单post获取不到数据
- 救命啊。。。call to undefined function ImageCreate() in phpqrcode.php on line 985
- DEDECMS控制器修改问题。。我MVC学的不是很好
/**
* 此类为单例模式,取的实例的方法 :$cache=Mcache:getInstance();
* @author User zhangjie <[email protected]>
* @date
*
*/
class Mcache{
private static $_instance;
private static $_connect_type='';
private $_memcache; /**
*私有化构造函数 ,禁止使用关键字new来实例化Mcache类
*/
private function __construct(){
if(!class_exists('Memcache')){
throw new Exception('Class Memcache not exists ');
}
$func=self::$_connect_type;
$this->_memcache=new Memcache();
$this->_memcache->$func(MEMCACHE_SERVER,MEMCACHE_PORT);
}
/**
*克隆私有化,禁止克隆实例
*/
function __clone(){}
/**
*类的入口,通过此类的静态方法对类进行实例化
*/
public static function getInstance($type='connect'){ self::$_connect_type=($type=='connect')?$type:'pconnect';
if (!self::$_instance instanceof self){
self::$_instance=new self();
}
return self::$_instance;
} /**
*把数据添加到缓存
*param string $key 缓存的key
*param string |arrary|int ....$value 缓存的数据
*param int $expire_time 缓存时间
*/
public function set($key,$value,$expire_time=0){
if($expire_time>0){
$this->_memcache->set($key,$value,0,$expire_time);
}else{
$this->_memcache->set($key,$value);
}
} /**
* 从缓存读取数据
* @package string|array|int ....$key
*/
public function get($key){
return $this->_memcache->get($key);
}
/**
* 从缓存中删除数据
* @param sting|array|int...$key
*/
public function del($key){ return $this->_memcache->delete($key);
} }
?>
/**
* 此类为单例模式,取的实例的方法 :$cache=Mcache:getInstance();
* @author User zhangjie <[email protected]>
* @date
*
*/
class Mcache{
private static $_instance;
private static $_connect_type='';
private $_memcache; /**
*私有化构造函数 ,禁止使用关键字new来实例化Mcache类
*/
private function __construct(){
if(!class_exists('Memcache')){
throw new Exception('Class Memcache not exists ');
}
$func=self::$_connect_type;
$this->_memcache=new Memcache();
$this->_memcache->$func(MEMCACHE_SERVER,MEMCACHE_PORT);
}
/**
*克隆私有化,禁止克隆实例
*/
function __clone(){}
/**
*类的入口,通过此类的静态方法对类进行实例化
*/
public static function getInstance($type='connect'){ self::$_connect_type=($type=='connect')?$type:'pconnect';
if (!self::$_instance instanceof self){
self::$_instance=new self();
}
return self::$_instance;
} /**
*把数据添加到缓存
*param string $key 缓存的key
*param string |arrary|int ....$value 缓存的数据
*param int $expire_time 缓存时间
*/
public function set($key,$value,$expire_time=0){
if($expire_time>0){
$this->_memcache->set($key,$value,0,$expire_time);
}else{
$this->_memcache->set($key,$value);
}
} /**
* 从缓存读取数据
* @package string|array|int ....$key
*/
public function get($key){
return $this->_memcache->get($key);
}
/**
* 从缓存中删除数据
* @param sting|array|int...$key
*/
public function del($key){ return $this->_memcache->delete($key);
} }
?>
/**
* 此类为单例模式,取的实例的方法 :$cache=Mcache:getInstance();
* @author User zhangjie <[email protected]>
* @date
*
*/
class Mcache{
private static $_instance;
private static $_connect_type='';
private $_memcache; /**
*私有化构造函数 ,禁止使用关键字new来实例化Mcache类
*/
private function __construct(){
if(!class_exists('Memcache')){
throw new Exception('Class Memcache not exists ');
}
$func=self::$_connect_type;
$this->_memcache=new Memcache();
$this->_memcache->$func(MEMCACHE_SERVER,MEMCACHE_PORT);
}
/**
*克隆私有化,禁止克隆实例
*/
function __clone(){}
/**
*类的入口,通过此类的静态方法对类进行实例化
*/
public static function getInstance($type='connect'){ self::$_connect_type=($type=='connect')?$type:'pconnect';
if (!self::$_instance instanceof self){
self::$_instance=new self();
}
return self::$_instance;
} /**
*把数据添加到缓存
*param string $key 缓存的key
*param string |arrary|int ....$value 缓存的数据
*param int $expire_time 缓存时间
*/
public function set($key,$value,$expire_time=0){
if($expire_time>0){
$this->_memcache->set($key,$value,0,$expire_time);
}else{
$this->_memcache->set($key,$value);
}
} /**
* 从缓存读取数据
* @package string|array|int ....$key
*/
public function get($key){
return $this->_memcache->get($key);
}
/**
* 从缓存中删除数据
* @param sting|array|int...$key
*/
public function del($key){ return $this->_memcache->delete($key);
} }
?>
这已然是个静态类了,你是要对其修改?但有几点不明确
1、他的get方法和set方法重写 其中的key 值加一个 版本号
加版本号是什么意思?谁的版本号?数据的吗?2、content方法连接到localhost 使用memcache_ini()代替 memcache的content方法
他默认就是 content 方法连接的
memcache_ini()代替.... 是什么意思?
2.我现在不使用memcache的content方法 而是使用mamcache_ini()代替 意思是把memcache的content方法封装 外部不能访问