ホームページ  >  記事  >  バックエンド開発  >  PHP での Memcache 操作クラスと使用例、phpmemcache_PHP チュートリアル

PHP での Memcache 操作クラスと使用例、phpmemcache_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 10:11:51780ブラウズ

PHP、phpmemcache の Memcache 操作クラスと使用例

この記事の例では、PHP での Memcache 操作クラスと使用法について説明します。参考のためにみんなで共有してください。具体的な分析は次のとおりです:

コードをコピーします コードは次のとおりです:

    /* 内部生存缓存管理
    */
クラス Yc_Memcache{
 プライベート $memcache=null;  
  
 パブリック関数 __construct(){
 }
 /**
* データベースに接続します
* *
* @param 混合 $host
* @param 混合 $port
* @param 混合 $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)){
   FALSEを返します。 
  }その他{
   TRUEを返します。 
  }
 }
    /**
*ストレージ値
* *
* @param 混合 $key
* @param 混合 $var
* @parammixed$flag デフォルトは 0、圧縮なし 圧縮ステータスを入力します: MEMCACHE_COMPRESSED
* @parammixed $expire デフォルトのキャッシュ時間 (単位は秒)
​*/
 パブリック関数セット($key,$var,$flag=0,$expire=10){
  
  $f=@memcache_set($this->memcache,$key,$var,$flag,$expire); 
  if(空の空($f)){
   FALSEを返します。 
  }その他{
   TRUEを返します。 
  }
 }
    /**
* 対応するキーの値を取得します
* *
* @param 混合 $key
* @param 混合 $flags
* $flags この値が 1 の場合、シリアル化を意味します
* ただし圧縮されていません。2 はシリアル化なしの圧縮を示します。
* 3 は圧縮とシリアル化を示し、0 は圧縮とシリアル化がないことを示します
​*/
 パブリック関数 get($key,$flags=0){
  $val=@memcache_get($this->memcache,$key,$flags); 
  $val を返します。 
 }
 /**
* キャッシュされたキーを削除します
* *
* @param 混合 $key
* @param 混合 $timeout
​*/
 パブリック関数の削除($key,$timeout=1){
  $flag=@memcache_delete($this->memcache,$key,$timeout); 
  $フラグを返します; 
 }
    /**
* キャッシュを更新しますが、メモリ領域は解放しません
* *
​*/
 パブリック関数 flash(){
  memcache_flush($this->memcache); 
 }
    /**
*メモリ接続を閉じます
* *
​*/
 パブリック関数 close(){
  memcache_close($this->memcache); 
 }
    /**
* 対応するキーの値を置き換えます
* *
* @param 混合 $key
* @param 混合 $var
* @param 混合 $flag
* @param 混合 $expire
​*/
 パブリック関数 replace($key,$var,$flag=0,$expire=1){
  $f=memcache_replace($this->memcache,$key,$var,$flag,$expire); 
  $f を返します。 
 }
    /**
* 大きな値の自動圧縮をオンにします
* *
* @param 混合 $threshold ユニット b
* @parammixed $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 を返します。 
 }
    /**
* サーバープール内のすべてのサーバーのキャッシュ統計
* *
* @parammixed $type 取得されると予想される統計情報の種類 使用できる値は、{reset, malloc,maps,cachedump,slabs,items,sizes} です
* @parammixed$slabidcachedump コマンドはサーバーを完全に占有し、通常はより厳密なチューニングに使用されます
* @parammixed $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('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 プログラムの設計が役立つことを望みます。

http://www.bkjia.com/PHPjc/926868.htmlwww.bkjia.com本当http://www.bkjia.com/PHPjc/926868.html技術記事 PHP 内の Memcache 操作タイプと使用方法の例。phpmemcache の本書の例では、PHP 内の Memcache 操作タイプと使用方法について説明します。具体的な分析は次のとおりです。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。