212121 发表于 2016-11-7 08:38:50

使用redis代替文件存储session信息

<?php
/**
* Created by PhpStorm.
* User: chenxiaolong
* Date: 2016/11/6
* Time: 20:47
*/
class sessionmanager{
    private $redis;
    private $sessionsavepath;
    private $sessionname;
    public function __construct()
    {
      $this->redis = new Redis();
      $this->redis->connect('10.16.59.141',6400);
      $reval = 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 false;
      }
    }
    public function write($id,$data){
      if($this->redis->set($id,$data)) {
            $this->redis->expire($id,300000);
            return true;
      } else {
            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();
      // TODO: Implement __destruct() method.
    }
}


<?php
/**
* Created by PhpStorm.
* User: chenxiaolong
* Date: 2016/11/6
* Time: 20:56
*/
include 'sessionmanager.php';
new sessionmanager();
$_SESSION['namehaha'] = 'lixiaolong';
$_SESSION['namehah'] = 'lixiaolong';
$_SESSION['namehaa'] = 'lixiaolong';
$_SESSION['namhaha'] = 'lixiaolong';
$_SESSION['namhaha'] = array('a'=>1,2,3,4,4);




<?php
/**
* Created by PhpStorm.
* User: chenxiaolong
* Date: 2016/11/6
* Time: 20:57
*/
include 'sessionmanager.php';
new sessionmanager();
var_dump($_SESSION);


页: [1]
查看完整版本: 使用redis代替文件存储session信息