1、配置
/* session */
'SESSION_AUTO_START' => true,
'SESSION_TYPE' => 'Redis',
// redis
'REDIS_HOST' => 'xxx.xxx.xxx.xxx',
'REDIS_PORT' => '6379',
'REDIS_PASSWORD' => 'xxxxxxxx',//'auth',
2、放文件
<?php
/**
* Created by PhpStorm.
* User: hunk
* Date: 2016-03-02
* Time: 17:33
*/
namespace Think\Session\Driver;
class Redis
{
protected $lifeTime = 3600;
protected $sessionName = '';
protected $handle = null;
/**
* 开启连接
* @param $savePath
* @param $sessName
* @return bool
*/
public function open($savePath, $sessName)
{
$this->lifeTime = C('SESSION_EXPIRE') ? C('SESSION_EXPIRE') : $this->lifeTime;
if (is_resource($this->handle)) {
return true;
}
$host = C('REDIS_HOST') ?: '127.0.0.1';
$port = C('REDIS_PORT') ?: '6379';
$auth = C('REDIS_PASSWORD') ?: '';
$timeout = C('SESSION_TIMEOUT') ?: 1;
$redis = new \Redis();
$redis->connect($host, $port, $timeout);
$redis->auth($auth);
if (!$redis) {
return false;
}
$this->handle = $redis;
return true;
}
/**
* 关闭连接
* @return bool
*/
public function close()
{
$this->gc(ini_get('session.gc_maxlifetime'));
$this->handle->close();
$this->handle = null;
return true;
}
/**
* 读取session
* @param $sessID
* @return mixed
*/
public function read($sessID)
{
return $this->handle->get($sessID);
}
/**
* 写入session
* @param $sessID
* @param $sessData
* @return mixed
*/
public function write($sessID, $sessData)
{
return $this->handle->setex($sessID, $this->lifeTime, $sessData);
}
/**
* 注销session
* @param $sessID
* @return bool
*/
public function destroy($sessID)
{
return $this->handler->del($sessID)>=1?true:false;
}
/**
* 垃圾回收
* @param $sessMaxLifeTime
* @return bool
*/
public function gc($sessMaxLifeTime)
{
return true;
}
}
3、正常很用session
$data = $_SESSION['hr_sas_access_token'];
var_dump($data->expire_time);
var_dump($data->access_token);
session('names','1234567'); //设置session
dump(session());
dump(session_id());
4、验证
[root@localhost ~]# /home/redis-3.0.7/src/redis-cli
127.0.0.1:6379> auth 123456789
OK
127.0.0.1:6379> keys *
1) "sess_5i797nkgenpbhjc2a0tf7mqod6"
127.0.0.1:6379>
127.0.0.1:6379>
127.0.0.1:6379> get "sess_5i797nkgenpbhjc2a0tf7mqod6"
"sess_|a:1:{s:5:\"names\";s:16:\"123456\";}"
127.0.0.1:6379>
flushdb 清空redis