redis stores session instances

小云云
Release: 2023-03-17 22:08:01
Original
1245 people have browsed it

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();
  }
}
Copy after login

Create a session_set.php and the code is as follows


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

Create a session_set.php and the code is as follows


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

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!

Related labels:
source:php.cn
Statement of this Website
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
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template