PHP编程:PHP中Memcache操作类及用法实例
发布时间:2020-12-13 02:15:52 所属栏目:PHP教程 来源:网络整理
导读:《PHP中Memcache操作类及用法实例》要点: 本文介绍了PHP中Memcache操作类及用法实例,希望对您有用。如果有疑问,可以联系我们。 PHP应用 本篇章节讲解PHP中Memcache操作类及用法.供大家参考研究.具体分析如下: 代码如下: ?php? ??? /*? 内存缓存
《PHP中Memcache操作类及用法实例》要点: PHP应用本篇章节讲解PHP中Memcache操作类及用法.分享给大家供大家参考.具体分析如下:
代码如下:
<?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,$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,$flags);? ? return $val;? ?}? ?/**? ??? * 删除缓存的key? ??? *? ??? * @param mixed $key? ??? * @param mixed $timeout? ??? */ ?public function delete($key,$timeout=1){? ? $flag=@memcache_delete($this->memcache,$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,$expire=1){? ? $f=memcache_replace($this->memcache,$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',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());? }? ?? ?> 希望本文所述对大家的PHP程序设计有所赞助. 《PHP中Memcache操作类及用法实例》是否对您有启发,欢迎查看更多与《PHP中Memcache操作类及用法实例》相关教程,学精学透。编程之家 52php.cn为您提供精彩教程。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |