Redis replaces php file to store an instance of session
Redis replaces php file to store an instance of session
Please understand the usage of the PHP session_set_save_handler function before viewing the instance
Define a SessionManager class
Class SessionManager {private $redis; public function _ construct () {$this- > redis = new Redis (); $this- > redis- > connect ('192.168.0.102 percent, 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 code as follows
Include ("SessionManager.php"); new SessionManager (); $_ SESSION ['user_name'] = "xxdcsnd@sina.com"
Create a session_set.php code as follows
Include ("SessionManager.php"); new SessionManager (); echo $_ SESSION ['user_name']
Test output xxdcsnd@sina.com
Note: php.ini session.save-hadler is set to user, otherwise session_set_save_handler will not take effect
If you have any questions, please leave a message or go to the community to exchange and discuss, thank you for reading, hope to help you, thank you for your support!