1.å¨é
置项ä¸å®ä¹:
'SESSION_TYPE' => 'Redis', //sessionä¿åç±»å
'SESSION_PREFIX' => 'sess_', //sessionåç¼
'REDIS_HOST' => '127.0.0.1' //REDISæå¡å¨å°å
'REDIS_PORT' => 6379, //REDISè¿æ¥ç«¯å£å·
'SESSION_EXPIRE' => 3600, //SESSIONè¿ææ¶é´
2.å¨ThinkPHP\Library\Think\Session\Driverç®å½ä¸æ°å»ºRedis.class.phpæ件
æ件å
容å¦ä¸ï¼
<?php
namespace Think\Session\Driver;
class Redis {
// Redisè¿æ¥å¯¹è±¡
private $redis;
// Sessionè¿ææ¶é´
private $expire;
/**
* æå¼æ¹æ³
* @param type $path
* @param type $name
* @return type
*/
public function open($path, $name) {
$this->expire = C('SESSION_EXPIRE') ? C('SESSION_EXPIRE') : ini_get('session.gc_maxLifetime');
$this->redis = new Redis();
return $this->redis->connect(C('REDIS_HOST'), C('REDIS_PORT'));
}
/**
* å
³é
* @return type
*/
public function close() {
return $this->redis->close();
}
/**
* 读å
* @param string $id
* @return type
*/
public function read($id) {
$id = C('SESSION_PREFIX') . $id;
$data = $this->redis->get($id);
return $data ? $data : '';
}
/**
* åå
¥
* @param string $id
* @param type $data
* @return type
*/
public function write($id, $data) {
$id = C('SESSION_PREFIX') . $id;
return $this->redis->set($id, $data, $this->expire);
}
/**
* éæ¯
* @param string $id
*/
public function destroy($id) {
$id = C('SESSION_PREFIX') . $id;
$this->redis->delete($id);
}
/**
* åå¾åæ¶
* @param type $maxLifeTime
* @return boolean
*/
public function gc($maxLifeTime) {
return true;
}
}
memcachedçæ¹æ³åRediså·®ä¸å¤ä¸æ ·ï¼