当前位置 : 主页 > 网络编程 > PHP >

Session Manager by Redis

来源:互联网 收集:自由互联 发布时间:2021-07-03
使用Redis管理和保存Session 1. [文件] SessionManager.php~1KB 下载 (2) ?php /*** SessionManager*/class SessionManager{private $redis;private $sessionSavePath;private $sessionName;private $sessionExpireTime = 30;function __construct
使用Redis管理和保存Session

1. [文件] SessionManager.php ~ 1KB     下载(2)    

<?php 
	/**
	* SessionManager
	*/
	class SessionManager
	{
		private $redis;
		private $sessionSavePath;
		private $sessionName;
		private $sessionExpireTime = 30;

		function __construct()
		{
			$this->redis = new Predis\client();
			$this->redis->connect('127.0.0.1', 6379);

			$retval = session_set_save_handler(
				array($this, "open"),
				array($this, "close"),
				array($this, "read"),
				array($this, "write"),
				array($this, "destroy"),
				array($this, "gc")
				);

			session_start();
		}

		public function open($patn, $name){
			return true;
		}

		public function close()
		{
			return true;
		}

		public function read($id)
		{
			$value = $this->redis->get($id);
			if ($value) {
				return $value;
			}else{
				return '';
			}
		}

		public function write($id, $data)
		{
			var_dump($id);
			if ($this->redis->set($id, $data)) {
				$this->redis->expire($id, $this->sessionExpireTime);
				return true;
			}
			return false;
		}

		public function destroy($id)
		{
			if ($this->redis->delete($id)) {
				return true;
			}
			return false;
		}

		public function gc($maxlifetime)
		{
			return true;
		}

		public function __destruct()
		{
			session_write_close();
		}
	}
 ?>

2. [文件] session_set.php ~ 241B     下载(2)    

<?php 
	require '../Predis/src/Autoloader.php';

	Predis\Autoloader::register();

	include("SessionManager.php");
	new SessionManager();

	$_SESSION['username'] = "xugang";

	echo "<a href = './session_get.php'>session</a>";
 ?>

3. [文件] session_get.php ~ 177B     下载(2)    

<?php 
	require '../Predis/src/Autoloader.php';

	Predis\Autoloader::register();

	include("SessionManager.php");
	new SessionManager();
	echo $_SESSION['username'];
 ?>
网友评论