PHP中Memcache操作类使用方法
<?php /* author:凹凸曼(lyc) /* email: jar-c@163测试数据 /* 内存缓存管理 */ 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 ( empty empty ( $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 ( empty empty ( $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 ); //开源代码phpfensi测试数据 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中Memcache操作类使用方法 - php类库的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://www.haodehen.cn/did29512