首页 > 代码库 > 使用redis代替文件存储session信息

使用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);



技术分享

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