No Description

Memcache.class.php 5.0KB

    <?php // +---------------------------------------------------------------------- // | ThinkPHP [ WE CAN DO IT JUST THINK IT ] // +---------------------------------------------------------------------- // | Copyright (c) 2010 http://thinkphp.cn All rights reserved. // +---------------------------------------------------------------------- // | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 ) // +---------------------------------------------------------------------- // | Author: luofei614 <www.3g4k.com> // +---------------------------------------------------------------------- // $Id: Memcache.class.php 2766 2012-02-20 15:58:21Z luofei614@gmail.com $ /** *memcache模拟器。 *当本地环境不支持memcache时被调用。 *当你本地环境支持memcache时,会使用原始的memcache,此类将不起作用。 */ class Memcache extends Think{ private static $handler; public function __construct(){ if(!is_object(self::$handler)){ self::$handler=new CacheFile(); } } public static function add($key, $var, $flag=null, $expire=-1){ if(self::$handler->get($key)!==false) return false; return self::$handler->set($key,$var,$expire); } public static function addServer($host,$port=11211,$persistent=null,$weight=null,$timeout=null,$retry_interval=null,$status=null,$failure_back=null,$timeoutms=null){ return true; } public static function close(){ return true; } public static function connect($host,$port=11211,$timeout=null){ return true; } public static function decrement($key,$value=1){ return self::$handler->decrement($key,$value); } public static function increment($key,$value=1){ return self::$handler->increment($key,$value); } public static function delete($key,$timeout=0){ $v=S($key); if($v===false) return false; if($timeout!==0){ return self::$handler->set($key,$v,$timeout); }else{ return self::$handler->rm($key); } } public static function flush(){ return self::$handler->clear(); } public static function get($key,$flag=null){ if(is_string($key)){ return self::$handler->get($key); }else{ //返回数组形式 array('k1'=>'v1','k2'=>'v2') $ret=array(); foreach($key as $k){ $ret[$k]=self::$handler->get($k); } return $ret; } } public static function getExtendedStats($type=null,$slabid=null,$limit=100){ //pass return true; } public static function getServerStatus($host,$port=11211){ return 1; } public static function getStats($type,$stabid=null,$limit=100){ //pass return true; } public static function getVersion(){ //todu 待完善 return true; } public static function pconnect($host,$port=11211,$timeout=null){ //pass return true; } public static function replace($key,$var,$flag=null,$expire=-1){ if(self::$handler->get($key)===false) return false; return self::$handler->set($key,$var,$flag,$expire); } public static function set($key,$var,$flag=null,$expire=-1){ return self::$handler->set($key,$var,$expire); } public static function setCompressThreshold($threshold,$min_savings=null){ //pass return true; } public static function setServerParams($host,$port=11211,$timeout=-1,$retry_interval=false,$status=null,$retry_interval=false){ return true; } //todu memcache_debug 函数 } function memcache_add($m,$key, $var, $flag=null, $expire=-1){ return Memcache::add($key,$var,$flag,$expire); } function memcache_add_server($host,$port=11211,$persistent=null,$weight=null,$timeout=null,$retry_interval=null,$status=null,$failure_back=null,$timeoutms=null){ return true; } function memcache_close(){ return true; } function memcache_decrement($m,$key,$value=1){ return Memcache::decrement($m,$key,$value); } function memcache_increment($m,$key,$value=1){ return Memcache::increment($key,$value); } function memcache_delete($m,$key,$timeout=0){ return Memcache::delete($key,$timeout); } function memcache_flush($m){ return Memcache::flush(); } function memcache_get_extended_stats($m,$type=null,$slabid=null,$limit=100){ return true; } function memcache_get_server_status($m,$host,$port=11211){ return 1; } function memcache_get_stats($m,$type,$stabid=null,$limit=100){ return true; } function memcache_get_version($m){ return true; } function memcache_pconnect($host,$port=11211,$timeout=null){ return true; } function memcache_replace($m,$key,$var,$flag=null,$expire){ return Memcache::replace($key,$var,$flag,$expire); } function memcache_set_compress_threshold($m,$threshold,$min_savings=null){ return true; } function memcache_set_server_params($host,$port=11211,$timeout=-1,$retry_interval=false,$status=null,$retry_interval=false){ return true; } function memcache_set($m,$key,$value){ return $mmc->set($key,$value); } function memcache_get($m,$key){ return $mmc->get($key); }