PHP中Memcache操作类及用法实例

 更新时间:2014年12月12日 15:17:41   投稿:shichen2014  
这篇文章主要介绍了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自定义加密与解密程序实例

    php自定义加密与解密程序实例

    这篇文章主要介绍了php自定义加密与解密程序,实例分析了自定义加密解密类文件及相关用法,具有一定参考借鉴价值,需要的朋友可以参考下
    2014-12-12
  • php保存信息到当前Session的方法

    php保存信息到当前Session的方法

    这篇文章主要介绍了php保存信息到当前Session的方法,实例分析了php中session的使用技巧,需要的朋友可以参考下
    2015-03-03
  • PHP大文件及断点续传下载实现代码

    PHP大文件及断点续传下载实现代码

    这篇文章主要介绍了PHP大文件及断点续传下载实现代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-08-08
  • php提高网站效率的技巧

    php提高网站效率的技巧

    随着国内PHP开发的兴起,代码优化成了老生常谈的话题了。作者本人时不时也会跑到CSDN坛论与人交流交流有交PHP开发和优化问题,这也是可以使自身快速提高的方法。
    2015-09-09
  • PHP封装的PDO数据库操作类实例

    PHP封装的PDO数据库操作类实例

    这篇文章主要介绍了PHP封装的PDO数据库操作类,结合具体实例形式分析了php基于PDO针对数据库的增删改查、事务、批量添加等相关操作技巧,需要的朋友可以参考下
    2017-06-06
  • 理解php Hash函数,增强密码安全

    理解php Hash函数,增强密码安全

    服务器和数据库的资料偶尔会被窃取,因此需要保证发生这种情况时一些重要的用户数据,比如密码,是别人无法获取的。这里我们将要讨论Hash的原理,以及它是如何保护Web应用程序中的密码安全的。
    2011-02-02
  • PHP函数shuffle()取数组若干个随机元素的方法分析

    PHP函数shuffle()取数组若干个随机元素的方法分析

    这篇文章主要介绍了PHP函数shuffle()取数组若干个随机元素的方法,结合实例形式详细分析了shuffle函数的功能,定义,使用方法与相关注意事项,需要的朋友可以参考下
    2016-04-04
  • PHP使用Mysql事务实例解析

    PHP使用Mysql事务实例解析

    这篇文章主要介绍了PHP使用Mysql事务的用法,是PHP数据库程序设计中非常重要的实用操作技巧,需要的朋友可以参考下
    2014-09-09
  • php-app开发接口加密详解

    php-app开发接口加密详解

    这篇文章主要为大家详细介绍了php-app开发接口加密规则,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-04-04
  • PHP实现数组和对象的相互转换操作示例

    PHP实现数组和对象的相互转换操作示例

    这篇文章主要介绍了PHP实现数组和对象的相互转换操作,结合实例形式分析了php使用get_object_vars以数组形式访问对象的方法,以及对象与数组相互转换操作技巧,需要的朋友可以参考下
    2019-03-03

最新评论