| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 | 
							- <?php
 
- namespace Think\Session\Driver;
 
- class Memcache {
 
- 	protected $lifeTime     = 3600;
 
- 	protected $sessionName  = '';
 
- 	protected $handle       = null;
 
-     /**
 
-      * 打开Session 
 
-      * @access public 
 
-      * @param string $savePath 
 
-      * @param mixed $sessName  
 
-      */
 
- 	public function open($savePath, $sessName) {
 
- 		$this->lifeTime     = C('SESSION_EXPIRE') ? C('SESSION_EXPIRE') : $this->lifeTime;
 
- 		// $this->sessionName  = $sessName;
 
-         $options            = array(
 
-             'timeout'       => C('SESSION_TIMEOUT') ? C('SESSION_TIMEOUT') : 1,
 
-             'persistent'    => C('SESSION_PERSISTENT') ? C('SESSION_PERSISTENT') : 0
 
-         );
 
- 		$this->handle       = new \Memcache;
 
-         $hosts              = explode(',', C('MEMCACHE_HOST'));
 
-         $ports              = explode(',', C('MEMCACHE_PORT'));
 
-         foreach ($hosts as $i=>$host) {
 
-             $port           = isset($ports[$i]) ? $ports[$i] : $ports[0];
 
-             $this->handle->addServer($host, $port, true, 1, $options['timeout']);
 
-         }
 
- 		return true;
 
- 	}
 
-     /**
 
-      * 关闭Session 
 
-      * @access public 
 
-      */
 
- 	public function close() {
 
- 		$this->gc(ini_get('session.gc_maxlifetime'));
 
- 		$this->handle->close();
 
- 		$this->handle       = null;
 
- 		return true;
 
- 	}
 
-     /**
 
-      * 读取Session 
 
-      * @access public 
 
-      * @param string $sessID 
 
-      */
 
- 	public function read($sessID) {
 
-         return $this->handle->get($this->sessionName.$sessID);
 
- 	}
 
-     /**
 
-      * 写入Session 
 
-      * @access public 
 
-      * @param string $sessID 
 
-      * @param String $sessData  
 
-      */
 
- 	public function write($sessID, $sessData) {
 
- 		return $this->handle->set($this->sessionName.$sessID, $sessData, 0, $this->lifeTime);
 
- 	}
 
-     /**
 
-      * 删除Session 
 
-      * @access public 
 
-      * @param string $sessID 
 
-      */
 
- 	public function destroy($sessID) {
 
- 		return $this->handle->delete($this->sessionName.$sessID);
 
- 	}
 
-     /**
 
-      * Session 垃圾回收
 
-      * @access public 
 
-      * @param string $sessMaxLifeTime 
 
-      */
 
- 	public function gc($sessMaxLifeTime) {
 
- 		return true;
 
- 	}
 
- }
 
 
  |