Home >Backend Development >PHP Tutorial >Example of how redis replaces php to implement file storage session
redis Example of replacing php file storage session
Please understand the PHP session_set_save_handler function before viewing the example Usage
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 with the following code
include("SessionManager.php"); new SessionManager(); $_SESSION['user_name']="xxdcsnd@sina.com";
Create a session_set.php with the following code
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
The above is the detailed content of Example of how redis replaces php to implement file storage session. For more information, please follow other related articles on the PHP Chinese website!