PHP中Memcache操作类及用法实例
2015-01-24信息快讯网
这篇文章主要介绍了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_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()); } ?>
希望本文所述对大家的PHP程序设计有所帮助。
php通过Chianz.com获取IP地址与地区的方法
WampServer下安装多个版本的PHP、mysql、apache图文教程
PHP PDO fetch 模式各种参数的输出结果一览
windows中为php安装mongodb与memcache
php下Memcached入门实例解析
php从memcache读取数据再批量写入mysql的方法
PHP使用memcache缓存技术提高响应速度的方法
PHP_SELF,SCRIPT_NAME,REQUEST_URI区别
PHP扩展模块memcached长连接使用方法分析
php实现可用于mysql,mssql,pg数据库操作类
PHP实现PDO的mysql数据库操作类
PHP内存缓存Memcached类实例
PHP模块memcached使用指南
Yii框架中memcache用法实例
Yii使用ajax验证显示错误messagebox的解决方法
yii实现CheckBox复选框在同一行显示的方法
php中print(),print_r(),echo()的区别详解
PHP中__FILE__、dirname与basename用法实例分析
thinkphp中memcache的用法实例
PHP通过内置函数memory_get_usage()获取内存使用情况