加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP编程:PHP中Memcache操作类及用法实例

发布时间:2020-12-13 02:15:52 所属栏目:PHP教程 来源:网络整理
导读:《PHP中Memcache操作类及用法实例》要点: 本文介绍了PHP中Memcache操作类及用法实例,希望对您有用。如果有疑问,可以联系我们。 PHP应用 本篇章节讲解PHP中Memcache操作类及用法.供大家参考研究.具体分析如下: 代码如下: ?php? ??? /*? 内存缓存

《PHP中Memcache操作类及用法实例》要点:
本文介绍了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为您提供精彩教程。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读