| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 | 
							- <?php
 
- 	/**
 
- 	* @desc 
 
- 	* 
 
- 	* memcache class
 
- 	*/
 
- 	class Mcache {
 
- 		
 
- 		public $is_compress = false;
 
- 		public $expire = false;
 
- 		public $cache;
 
- 		
 
- 		public function Mcache($g_memcahe_conf) {
 
- 			$this->is_compress = COMPRESSED ? MEMCACHE_COMPRESSED : false;
 
- 			$this->expire   = MEM_EXPIRES ? MEM_EXPIRES : false;
 
- 			$this->cache	= new Memcache();
 
- 			$this->connect($g_memcahe_conf);
 
- 		}
 
- 		/**
 
- 		* @desc 
 
- 		*  添加Memcache地址, 打开一个到Memcache的连接
 
- 		*/
 
- 		public function connect($g_memcahe_conf) {
 
- 			
 
- 			// multi-server config
 
- 			if(!empty($g_memcahe_conf[0])){
 
- 				foreach ($g_memcahe_conf as $conf){
 
- 					$this->cache->addServer($conf['server'], $conf['port'], $conf['per'], $conf['weight'], $conf['timeout'],  $conf['retry']);
 
- 				}				
 
- 			}
 
- 			// single server config
 
- 			else{
 
- 				$this->cache->addServer(
 
- 					$g_memcahe_conf['server'], 
 
- 					$g_memcahe_conf['port'], 
 
- 					$g_memcahe_conf['per'], 
 
- 					$g_memcahe_conf['weight'], 
 
- 					$g_memcahe_conf['timeout'], 
 
- 					$g_memcahe_conf['retry']);
 
- 			}
 
- 		}
 
- 		/**
 
- 		* @desc 
 
- 		*  向Memcache添加一个值,如果已经存在,则覆写
 
- 		*/
 
- 		public function set($key, $val) {
 
- 			return $this->cache->set($key, $val, $this->is_compress,$this->expire);
 
- 		}
 
- 		/**
 
- 		* @desc 
 
- 		* 添加一个值,如果已经存在,则返回false
 
- 		*/
 
- 		public function add($key, $val) {
 
- 			return $this->cache->add($key, $val, $this->is_compress,$this->expire);
 
- 		}
 
- 		/**
 
- 		* @desc 
 
- 		* 替换一个已经存在Memcache服务器上的项目(功能类似Memcache::set)
 
- 		*/
 
- 		public function replace($key, $val) {
 
- 			return $this->cache->replace($key, $val, $this->is_compress,$this->expire);
 
- 			
 
- 		}
 
- 		/**
 
- 		* @desc 
 
- 		* 删除一个Memcache上的key值
 
- 		*/
 
- 		public function del($key) {
 
- 			return $this->cache->delete($key);
 
- 		}
 
- 		/**
 
- 		* @desc 
 
- 		* 刷新所有Memcache上保存的项目
 
- 		*/
 
- 		public function flush() {
 
- 			return $this->cache->flush();
 
- 		}
 
- 		/**
 
- 		* @desc 
 
- 		* 从Memcache上获取一个key值
 
- 		* 
 
- 		*/
 
- 		public function get($key) {
 
- 			return $this->cache->get($key);
 
- 		}
 
- 		/**
 
- 		* @desc 
 
- 		* 获取进程池中所有进程的运行系统统计
 
- 		*/
 
- 		public function getStats($par="") {
 
- 			return $this->cache->getExtendedStats($par);
 
- 		}
 
- 	}
 
- ?>
 
 
  |