Redis stocke les instances de session

小云云
Libérer: 2023-03-17 22:08:01
original
1241 Les gens l'ont consulté

Cet article présente principalement les informations pertinentes sur l'instance de remplacement du fichier php par redis pour stocker la session. J'espère que cet article pourra aider tout le monde et permettre à tout le monde de maîtriser la méthode de stockage de session redis. Les amis qui en ont besoin pourront s'y référer. j'espère que cela pourra aider tout le monde.

redis remplace les fichiers PHP pour stocker les instances de session

Veuillez comprendre l'utilisation de la fonction PHP session_set_save_handler avant de visualiser l'exemple

Définir un 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();
  }
}
Copier après la connexion

Créer un session_set.php Le code est le suivant


include("SessionManager.php");
new SessionManager();
$_SESSION['user_name']="xxdcsnd@sina.com";
Copier après la connexion

Créez un session_set. Le code php est le suivant


include("SessionManager.php");
new SessionManager();
echo $_SESSION['user_name'];
Copier après la connexion

Résultat de sortie du test xxdcsnd@sina.com

Remarque : php .ini session.save-hadler est défini sur user, sinon session_set_save_handler ne prendra pas effet

Recommandations associées :

Résumé de l'expérience d'optimisation Redis

Comment implémenter une session avec Redis dans un système distribué PHP

Résumé de l'utilisation de la fonction Redis en PHP

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal