PHP_php 기술의 Memcache 작업 클래스 및 사용 예

WBOY
풀어 주다: 2016-05-16 20:28:26
원래의
1037명이 탐색했습니다.

이 문서의 예에서는 PHP의 Memcache 작업 클래스와 사용법을 설명합니다. 참고할 수 있도록 모든 사람과 공유하세요. 구체적인 분석은 다음과 같습니다.

코드 복사 코드는 다음과 같습니다.

    /*  内存存储管理
    */
类 Yc_Memcache{ 
 私有 $memcache=null;  
  
 公共函数 __construct(){ 
 } 
 /** 
    * 连接数据库 
    * 
    * @param mixed $host 
    * @param mixed $port 
    * @param mixed $timeout 
   */
 公共功能连接($主机,$端口= 11211,$超时= 1){ 
  if(!function_exists(memcache_connect)){ return FALSE;} 
  $this->memcache=@memcache_connect($host,$port,$timeout); 
  if(emptyempty($this->memcache)){ 
   返回假; 
  }其他{ 
   返回真; 
  } 
 } 
    /** 
    * 存放值 
    * 
    * @param mixed $key 
    * @param mixed $var 
    * @param mixed $flag   默认为0不压缩  压缩状态填写:MEMCACHE_COMPRESSED 
    * @param mixed $expire  默认缓存时间(单位秒) 
   */
 公共函数集($key,$var,$flag=0,$expire=10){ 
  
  $f=@memcache_set($this->memcache,$key,$var,$flag,$expire); 
  if(emptyempty($f)){ 
   返回假; 
  }其他{ 
   返回真; 
  } 
 } 
    /** 
    * 取出对应的key的value 
    * 
    * @param mixed $key 
    * @param mixed $flags 
    * $flags 如果此值为1表示经过序列化, 
    * 但未经过压缩,2表明压缩而未序列化, 
    * 3表明压缩并且序列化,0表明未经过压缩和序列化 
   */
 公共函数 get($key,$flags=0){ 
  $val=@memcache_get($this->memcache,$key,$flags); 
  返回$val; 
 } 
 /** 
    * 删除缓存的key 
    * 
    * @param mixed $key 
    * @param mixed $timeout 
   */
 公共函数删除($key,$timeout=1){ 
  $flag=@memcache_delete($this->memcache,$key,$timeout); 
  返回$标志; 
 } 
    /** 
    * 刷新缓存但不释放内存空间 
    * 
   */
 公共函数flush(){ 
  memcache_flush($this->memcache); 
 } 
    /** 
    * 关闭内存连接 
    * 
   */
 公共函数 close(){ 
  memcache_close($this->memcache); 
 } 
    /** 
    * 替换对应key的value 
    * 
    * @param mixed $key 
    * @param mixed $var 
    * @param mixed $flag 
    * @param mixed $expire 
   */
 公共函数替换($key,$var,$flag=0,$expire=1){ 
  $f=memcache_replace($this->memcache,$key,$var,$flag,$expire); 
  返回$f; 
 } 
    /** 
    * 开启大值自动压缩 
    * 
    * @param mixed $threshold 单位b 
    * @param mixed $min_saveings 默认值是0.2表示20%压缩率 
   */
 公共函数 setCompressThreshold($threshold,$min_saveings=0.2){ 
  $f=@memcache_set_compress_threshold($this->memcache,$threshold,$min_saveings); 
  返回$f; 
 } 
    /** 
    * 用于获取服务器的在线/离线状态
    * 
    * @param 혼합 $host 
    * @param $port 혼합 
    */
 공개 함수 getServerStatus($host,$port=11211){ 
  $re=memcache_get_server_status($this->memcache,$host,$port); 
  $re를 반환합니다. 
 } 
    /**
* 서버 풀 내 모든 서버의 캐시 통계
* *
* @param mix $type 캡쳐가 예상되는 통계정보의 종류는 {reset, malloc,map,cachedump,slabs,item,size} 입니다
* @param 혼합 $slabid 캐시 덤프 명령은 서버를 완전히 점유하며 일반적으로 보다 엄격한 조정에 사용됩니다
* @param mix $limit 서버에서 얻은 엔터티 수
​*/
 공개 함수 getExtendedStats($type='',$slabid=0,$limit=100){ 
  $re=memcache_get_extended_stats($this->memcache,$type,$slabid,$limit);
  $re를 반환합니다. 
 } 

  
/***********테스트 영역*************************/
$mem=새로운 Yc_Memcache(); 
  
$f=$mem->connect('125.64.41.138',12000); 
var_dump($f); 
if($f){ 
// $mem->setCompressThreshold(2000,0.2); 
 $mem->set('키','안녕하세요',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('키'); 
 echo '
';  
 print_r($mem->getExtendedStats()); 

  
?>

希望本文所述对大家的PHP程序设计有所帮助。

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿