温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Memcache操作类如何在PHP中使用

发布时间:2020-12-15 17:11:00 来源:亿速云 阅读:174 作者:Leah 栏目:开发技术

这篇文章给大家介绍Memcache操作类如何在PHP中使用,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

具体分析如下:

<?php       /*  内存缓存管理       */  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 '<pre>';    print_r($mem->getExtendedStats());   }       ?>

关于Memcache操作类如何在PHP中使用就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI