From abd9ab924a2e662e0abad128ec0608d0e363fc44 Mon Sep 17 00:00:00 2001 From: 7IN0SAN9 Date: Mon, 25 Jan 2016 15:55:21 +0800 Subject: [PATCH] =?UTF-8?q?=E6=A0=BC=E5=BC=8F=E5=8C=96=E5=92=8C=E6=B3=A8?= =?UTF-8?q?=E9=87=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- library/think/session/driver/Memcache.php | 100 +++++++++++++--------- library/think/session/driver/Redis.php | 98 ++++++++++++--------- 2 files changed, 115 insertions(+), 83 deletions(-) diff --git a/library/think/session/driver/Memcache.php b/library/think/session/driver/Memcache.php index 36fd2f13..30e897c9 100644 --- a/library/think/session/driver/Memcache.php +++ b/library/think/session/driver/Memcache.php @@ -1,39 +1,50 @@ +// +---------------------------------------------------------------------- + namespace think\session\driver; -use think\session\Driver; use think\Config; +use think\session\Driver; class Memcache extends Driver { - protected $handler = null; - protected $config = [ - 'host' => '127.0.0.1', // 主机 - 'port' => 1121, // 端口 - 'expire' => 3600, // 有效期 - 'timeout' => 1, // 超时时间 - 'persistent' => 0, // 是否长连接 - 'session_name' => '', // memcache key前缀 + protected $handler = null; + protected $config = [ + 'host' => '127.0.0.1', // 主机 + 'port' => 1121, // 端口 + 'expire' => 3600, // 有效期 + 'timeout' => 1, // 超时时间 + 'persistent' => 0, // 是否长连接 + 'session_name' => '', // memcache key前缀 ]; /** - * 打开Session - * @access public - * @param string $savePath - * @param mixed $sessName + * 打开Session + * @access public + * @param string $savePath + * @param mixed $sessName */ - public function open($savePath, $sessName) { + public function open($savePath, $sessName) + { // 检测php环境 if (!extension_loaded('memcache')) { throw new Exception('_NOT_SUPPERT_:memcache'); } - $this->handler = new \Memcache; + $this->handler = new \Memcache; // 支持集群 - $hosts = explode(',', $this->config['host']); - $ports = explode(',', $this->config['port']); + $hosts = explode(',', $this->config['host']); + $ports = explode(',', $this->config['port']); // 建立连接 foreach ((array) $hosts as $i => $host) { - $port = isset($ports[$i]) ? $ports[$i] : $ports[0]; + $port = isset($ports[$i]) ? $ports[$i] : $ports[0]; false === $config['timeout'] ? $this->handler->addServer($host, $port, $this->config['persistent'], 1) : $this->handler->addServer($host, $port, $this->config['persistent'], 1, $this->config['timeout']); @@ -42,50 +53,55 @@ class Memcache extends Driver } /** - * 关闭Session - * @access public + * 关闭Session + * @access public */ - public function close() { + public function close() + { $this->gc(ini_get('session.gc_maxlifetime')); $this->handler->close(); - $this->handler = null; + $this->handler = null; return true; } /** - * 读取Session - * @access public - * @param string $sessID + * 读取Session + * @access public + * @param string $sessID */ - public function read($sessID) { - return $this->handler->get($this->config['session_name'].$sessID); + public function read($sessID) + { + return $this->handler->get($this->config['session_name'] . $sessID); } /** - * 写入Session - * @access public - * @param string $sessID - * @param String $sessData + * 写入Session + * @access public + * @param string $sessID + * @param String $sessData */ - public function write($sessID, $sessData) { - return $this->handler->set($this->config['session_name'].$sessID, $sessData, 0, $this->config['expire']); + public function write($sessID, $sessData) + { + return $this->handler->set($this->config['session_name'] . $sessID, $sessData, 0, $this->config['expire']); } /** - * 删除Session - * @access public - * @param string $sessID + * 删除Session + * @access public + * @param string $sessID */ - public function destroy($sessID) { - return $this->handler->delete($this->config['session_name'].$sessID); + public function destroy($sessID) + { + return $this->handler->delete($this->config['session_name'] . $sessID); } /** * Session 垃圾回收 - * @access public - * @param string $sessMaxLifeTime + * @access public + * @param string $sessMaxLifeTime */ - public function gc($sessMaxLifeTime) { + public function gc($sessMaxLifeTime) + { return true; } -} \ No newline at end of file +} diff --git a/library/think/session/driver/Redis.php b/library/think/session/driver/Redis.php index 10fab63b..d06886b2 100644 --- a/library/think/session/driver/Redis.php +++ b/library/think/session/driver/Redis.php @@ -1,36 +1,47 @@ +// +---------------------------------------------------------------------- + namespace think\session\driver; -use think\session\Driver; use think\Config; +use think\session\Driver; class Redis extends Driver { - protected $handler = null; - protected $config = [ - 'host' => '127.0.0.1', // 主机 - 'port' => 6379, // 端口 - 'password' => '', // 密码 - 'expire' => 3600, // 有效期 - 'timeout' => false, // 超时时间 - 'persistent' => 0, // 是否长连接 - 'session_name' => '', // memcache key前缀 + protected $handler = null; + protected $config = [ + 'host' => '127.0.0.1', // 主机 + 'port' => 6379, // 端口 + 'password' => '', // 密码 + 'expire' => 3600, // 有效期 + 'timeout' => false, // 超时时间 + 'persistent' => 0, // 是否长连接 + 'session_name' => '', // memcache key前缀 ]; /** - * 打开Session - * @access public - * @param string $savePath - * @param mixed $sessName + * 打开Session + * @access public + * @param string $savePath + * @param mixed $sessName */ - public function open($savePath, $sessName) { + public function open($savePath, $sessName) + { // 检测php环境 if (!extension_loaded('redis')) { throw new Exception('_NOT_SUPPERT_:redis'); } - $this->handler = new \Redis; + $this->handler = new \Redis; // 建立连接 - $func = $this->config['persistent'] ? 'pconnect' : 'connect'; + $func = $this->config['persistent'] ? 'pconnect' : 'connect'; false === $this->config['timeout'] ? $this->handler->$func($this->config['host'], $this->config['port']) : $this->handler->$func($this->config['host'], $this->config['port'], $this->config['timeout']); @@ -41,50 +52,55 @@ class Redis extends Driver } /** - * 关闭Session - * @access public + * 关闭Session + * @access public */ - public function close() { + public function close() + { $this->gc(ini_get('session.gc_maxlifetime')); $this->handler->close(); - $this->handler = null; + $this->handler = null; return true; } /** - * 读取Session - * @access public - * @param string $sessID + * 读取Session + * @access public + * @param string $sessID */ - public function read($sessID) { - return $this->handler->get($this->config['session_name'].$sessID); + public function read($sessID) + { + return $this->handler->get($this->config['session_name'] . $sessID); } /** - * 写入Session - * @access public - * @param string $sessID - * @param String $sessData + * 写入Session + * @access public + * @param string $sessID + * @param String $sessData */ - public function write($sessID, $sessData) { - return $this->handler->set($this->config['session_name'].$sessID, $sessData, 0, $this->config['expire']); + public function write($sessID, $sessData) + { + return $this->handler->set($this->config['session_name'] . $sessID, $sessData, 0, $this->config['expire']); } /** - * 删除Session - * @access public - * @param string $sessID + * 删除Session + * @access public + * @param string $sessID */ - public function destroy($sessID) { - return $this->handler->delete($this->config['session_name'].$sessID); + public function destroy($sessID) + { + return $this->handler->delete($this->config['session_name'] . $sessID); } /** * Session 垃圾回收 - * @access public - * @param string $sessMaxLifeTime + * @access public + * @param string $sessMaxLifeTime */ - public function gc($sessMaxLifeTime) { + public function gc($sessMaxLifeTime) + { return true; } -} \ No newline at end of file +}