PHPにおけるMemcache操作類及び用法例

4902 ワード

この例ではPHPにおけるMemcache操作類と用法について述べる.皆さんの参考にしてください.具体的な分析は以下の通りである.
 
  
    /*   
    */
class Yc_Memcache{ 
 private $memcache=null;  
  
 public function __construct(){ 
 } 
 /** 
    *  
    * 
    * @param mixed $host 
    * @param mixed $port 
    * @param mixed $timeout 
    */
 public  function connect($host,$port=11211,$timeout=1){ 
  if(!function_exists(memcache_connect)){ return FALSE;} 
  $this->memcache=@memcache_connect($host,$port,$timeout); 
  if(emptyempty($this->memcache)){ 
   return FALSE; 
  }else{ 
   return TRUE; 
  } 
 } 
    /** 
    *  
    * 
    * @param mixed $key 
    * @param mixed $var 
    * @param mixed $flag   0   :MEMCACHE_COMPRESSED 
    * @param mixed $expire  ( ) 
    */
 public function set($key,$var,$flag=0,$expire=10){ 
  
  $f=@memcache_set($this->memcache,$key,$var,$flag,$expire); 
  if(emptyempty($f)){ 
   return FALSE; 
  }else{ 
   return TRUE; 
  } 
 } 
    /** 
    * key value 
    * 
    * @param mixed $key 
    * @param mixed $flags 
    * $flags 1 , 
    * ,2 , 
    * 3 ,0  
    */
 public function get($key,$flags=0){ 
  $val=@memcache_get($this->memcache,$key,$flags); 
  return $val; 
 } 
 /** 
    * key 
    * 
    * @param mixed $key 
    * @param mixed $timeout 
    */
 public function delete($key,$timeout=1){ 
  $flag=@memcache_delete($this->memcache,$key,$timeout); 
  return $flag; 
 } 
    /** 
    *  
    * 
    */
 public function flush(){ 
  memcache_flush($this->memcache); 
 } 
    /** 
    *  
    * 
    */
 public function close(){ 
  memcache_close($this->memcache); 
 } 
    /** 
    * key value 
    * 
    * @param mixed $key 
    * @param mixed $var 
    * @param mixed $flag 
    * @param mixed $expire 
    */
 public function replace($key,$var,$flag=0,$expire=1){ 
  $f=memcache_replace($this->memcache,$key,$var,$flag,$expire); 
  return $f; 
 } 
    /** 
    *  
    * 
    * @param mixed $threshold b 
    * @param mixed $min_saveings 0.2 20%  
    */
 public function setCompressThreshold($threshold,$min_saveings=0.2){ 
  $f=@memcache_set_compress_threshold($this->memcache,$threshold,$min_saveings); 
  return $f; 
 } 
    /** 
    * /  
    * 
    * @param mixed $host 
    * @param mixed $port 
    */
 public function getServerStatus($host,$port=11211){ 
  $re=memcache_get_server_status($this->memcache,$host,$port); 
  return $re; 
 } 
    /** 
    *  
    * 
    * @param mixed $type , {reset, malloc, maps, cachedump, slabs, items, sizes} 
    * @param mixed $slabid  cachedump  
    * @param mixed $limit  
    */
 public function getExtendedStats($type='',$slabid=0,$limit=100){ 
  $re=memcache_get_extended_stats($this->memcache,$type,$slabid,$limit);
  return $re; 
 } 

  
/*********** ********************/
$mem=new Yc_Memcache(); 
  
$f=$mem->connect('125.64.41.138',12000); 
var_dump($f); 
if($f){ 
// $mem->setCompressThreshold(2000,0.2); 
 $mem->set('key','hello',0,30); 
//        var_dump($mem->delete('key1')); 
 // $mem->flush(); 
// var_dump($mem->replace('hao','d')); 
// echo $mem->get('key'); 
 echo $mem->getServerStatus('127.0.0.1',12000); 
 echo $mem->get('key'); 
 echo '
';  
  
 print_r($mem->getExtendedStats()); 

  
?>

ここで べたことが さんのPHPプログラム に つことを っています.