1.php.ini里头配置 $redis_config = ['host' => '192.168.200.229', 'port' => 6379];
@ini_set("session.save_handler", "redis");
@ini_set("session.save_path", 'tcp://'.redis_config['port']);
session_start();
$_SESSION['user_id'] = 123;
$_SESSION['user_name'] = 'helin';
$_SESSION['email'] = 'xxxxxx@163.com';
$session_id = session_id();
echo $session_id;
//ssr242gfioap1auk0njtdg07q4
echo "
";
$redis = new redis();
redis_config['host'], $redis_config['port']);
// redis 用 session_id 作为 key 并且是以 string 的形式存储
echo session_id);
//user_id|i:123;user_name|s:5:"helin";email|s:14:"xxxxxx@163.com";
echo "
";
echo json_encode($_SESSION);
//{"user_id":123,"user_name":"helin","email":"xxxxxx@163.com"}
exit;
2.php程序使用session_set_save_handler 可以参考 tp SessionRedis
/**
-
redis session
-
Class SessionRedis */ class SessionRedis {
public $prefix = 'ucenter_sessoin_'; /**
- Session有效时间 */ protected $lifeTime = '';
/**
- 数据库句柄 */ protected $redis = array();
/**
- 打开Session
- @access public
- @param string $savePath
- @param mixed savePath, sessName) { this->lifeTime = C('SESSION_EXPIRE')?C('SESSION_EXPIRE'):ini_get('session.gc_maxlifetime'); $this->redis = new CacheRedis(); return true; }
/**
- 关闭Session
- @access public */ public function close() { return $this->redis->handler->close(); }
/**
- 读取Session
- @access public
- @param string sessID) { this->redis->get(sessID); data); return $data; }
/**
-
写入Session
-
@access public
-
@param string $sessID
-
@param String sessID,sessData) { //expire = time() + $this->lifeTime;
this->prefix.sessData),$this->lifeTime); return true; }
/**
- 删除Session
- @access public
- @param string sessID) { return this->prefix.$sessID); }
/**
- Session 垃圾回收
- @access public
- @param string sessMaxLifeTime) { return true; }
/**
-
打开Session
-
@access public */ public function execute() { session_set_save_handler(array(&this,"open"), array(&this,"close"), array(&this,"read"), array(&this,"write"), array(&this,"destroy"), array(&this,"gc")); } } ————————————————
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。