Home  >  Article  >  Backend Development  >  redis stores session instances

redis stores session instances

小云云
小云云Original
2017-12-14 14:34:121229browse

This article mainly introduces the relevant information about the instance of redis replacing php file to store session. I hope this article can help everyone and let everyone master the method of redis storing session. Friends who need it can refer to it. I hope it can help everyone.

redis replaces the instance of PHP file storage session

Please understand the usage of PHP session_set_save_handler function before viewing the example

Define a SessionManager class


class SessionManager {
  private $redis;
  public function __construct(){
    $this->redis = new Redis();
    $this->redis->connect('192.168.0.102', 6379);
    $retval =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($path,$name){
    return true;
  }
  public function close(){
    return true;
  }
  public function read($id){
    $session_value = $this->redis->get($id);
    if($session_value){
      return $session_value;
    }else{
      return "";
    }
  }
  public function write($id,$data){
    if($this->redis->set($id,$data)){
      return true;
    }else{
      return false;
    }
  }
  public function destroy($id){
    if($this->redis->delete($id)){
      return true;
    }else{
      return false;
    }
  }
  public function gc($maxlifetime){
    return true;
  }
  public function __destruct(){
    session_write_close();
  }
}

Create a session_set.php and the code is as follows


include("SessionManager.php");
new SessionManager();
$_SESSION['user_name']="xxdcsnd@sina.com";

Create a session_set.php and the code is as follows


include("SessionManager.php");
new SessionManager();
echo $_SESSION['user_name'];

Test output result xxdcsnd@sina.com

Note: php.ini session.save- hadler is set to user, otherwise session_set_save_handler will not take effect

Related recommendations:

Redis optimization experience summary

Redis implementation in PHP distribution Session method

Summary of usage of Redis function in php

The above is the detailed content of redis stores session instances. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn