使用Redis管理和保存Session 1. [文件] SessionManager.php~1KB 下载 (2) ?php /*** SessionManager*/class SessionManager{private $redis;private $sessionSavePath;private $sessionName;private $sessionExpireTime = 30;function __construct
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'];
?>
