PHP中Memcache操作类及用法实例
网络编程 2021-07-05 09:50www.168986.cn编程入门
这篇文章主要介绍了PHP中Memcache操作类及用法,以实例形式详细分析了Memcache类连接数据库及进行缓存操作的具体用法,非常具有实用价值,需要的朋友可以参考下
本文实例讲述了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,$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_press_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());
}
?>
希望本文所述对大家的PHP程序设计有所帮助。
编程语言
- 宿迁百度关键词排名指南:实现精准营销的关键
- 四川SEO优化怎么做网络推广
- 立昂技术备案老域名收购:如何为您的业务赋能
- 安徽百度关键词seo贵不贵,一般需要多少钱
- 吉林百度快照排名怎么做电话营销
- 多伦新手做SEO怎么做
- 甘肃优化关键词排名推广怎么做论坛营销
- 沙雅SEO网站推广:提升您的在线可见性
- 四川SEO优化如何提升销售额和销售量
- 聂荣网站排名优化:提升网站可见性的全方位指
- 涞水SEO:提升地方企业在线可见性的策略
- 辽宁百度seo排名怎样做网站排名
- 临湘哪有关键词排名优化:提升网站可见度的关
- 黑龙江百度网站优化有没有优惠
- 凉城优化关键词排名推广:提升您的网络可见性
- 萝北整站优化:提升您网站流量和排名的全面指