<?php 

 	class dmsession_redis_manager{
		    private $redis;
		    
		    public function __construct(){
		        $this->redis = new Redis();
		        $this->redis->connect('127.0.0.1',6379);
		        $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 (string)$value;
		           
		        } else {
		            return '';
		        }
		    }
		    public function write($id,$data){
		        if($this->redis->set($id,$data)) {
		            $this->redis->expire($id,60);
		                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.
		    }
		}

	
 new dmsession_redis_manager();

//$_SESSION['aaa'] = '11111';
//$_SESSION['bbb'] = '22222';
 //var_dump($_SESSION);

	