php memcache技术,Memcache操作类如何在PHP中使用

Memcache操作类如何在PHP中使用

发布时间:2020-12-15 17:11:00

来源:亿速云

阅读:93

作者: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 '

';

print_r($mem->getExtendedStats());

}

?>

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值