Maison > Article > développement back-end > Exemple de la façon dont Redis remplace PHP pour implémenter une session de stockage de fichiers
redis remplace l'instance de stockage de fichiers PHP session
Veuillez comprendre la fonction PHP session_set_save_handler avant de visualiser l'exemple d'utilisation de
Définir une classe SessionManager
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(); } }
Créer un session_set.php avec le code suivant
include("SessionManager.php"); new SessionManager(); $_SESSION['user_name']="xxdcsnd@sina.com";
Créer un session_set .php avec le code suivant
include("SessionManager.php"); new SessionManager(); echo $_SESSION['user_name'];
Résultat de sortie du test xxdcsnd@sina.com
Remarque : php.ini session.save-hadler est défini à l'utilisateur, sinon session_set_save_handler ne sera pas efficace
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!