欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

php memcache类

程序员文章站 2022-04-18 12:25:46
...

?php/** 2012-12-04 14:54* @author 孤独求学人*/class php_memcache{protected $handle = null;protected $mem = null;private $host = "";private $port = "";private $timeout = 0;private $pconnect = false;public function __construct($host = '127.0

host = $host;
  $this->port = $port;
  $this->timeout = $timeout;
  $this->pconnect = $pconnect;
  $this->mem     = new Memcache();
}
public function connect(){
  if(!is_resource($this->handle)) {
   if($this->pconnect == false){
    if(empty($this->host)){
     return false;
    }
    if(empty($this->port)){
     return false;
    }
    $handle = $this->mem->connect($this->host,$this->port);
    if(!$handle){
     return false;
    }else{
     $this->handle = $handle;
    }
   }
  }
  return $this->handle;
}
public function set($key,$val,$flag=false,$expire=0){
  if(!$this->connect()) return false;
  $iFlage = 0;
  if($flag == true){
   $iFlage = MEMCACHE_COMPRESSED;
  }
  return $this->mem->set($key,$val,$iFlage,$expire);
}
public function get($key){
  if(!$this->connect()) return false;
  if (is_array($key)) {
             $dest = array();
             foreach ($key as $subkey) {
              $val = $this->get($subkey);
              if (!($val === false)){
               $dest[$subkey] = $val;
              }
             }
             return $dest;
         } else {
             return $this->mem->get($key);
         }
}
public function replace($key,$val,$flag=false,$expire=0){
  if(!$this->connect()) return false;
     $iFlage = 0;
  if($flag == true){
   $iFlage = MEMCACHE_COMPRESSED;
  }
  return $this->mem->replace($key,$val,$iFlage,$expire);
}
public function delete($key,$time=0){
  if(!$this->connect()) return false;
  return $this->mem->delete($key,$time);
}
public function flush(){
  if(!$this->connect()) return false;
  return $this->mem->flush();
}
public function incr($key,$val=1){
  if(!$this->connect()) return false;
  return $this->mem->increment($key,$val);
}
    public function decr($key,$val=1){
  if(!$this->connect()) return false;
  return $this->mem->decrement($key,$val);
}
public function getVersion(){
  if(!$this->connect()) return false;
  return $this->mem->getVersion();
}
}
?>