Heim > Artikel > Backend-Entwicklung > Beispiel dafür, wie Redis PHP ersetzt, um eine Dateispeichersitzung zu implementieren
redis ersetzt die Instanz der PHP-Dateispeicherung session
Bitte verstehen Sie die Funktion PHP session_set_save_handler vor dem Anzeigen das Beispiel Verwendung von
Definieren Sie eine SessionManager-Klasse
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(); } }
Erstellen Sie ein session_set.php mit dem folgenden Code
include("SessionManager.php"); new SessionManager(); $_SESSION['user_name']="xxdcsnd@sina.com";
Erstellen Sie ein session_set .php mit dem folgenden Code
include("SessionManager.php"); new SessionManager(); echo $_SESSION['user_name'];
Testausgabeergebnis xxdcsnd@sina.com
Hinweis: php.ini session.save-hadler ist festgelegt an den Benutzer, andernfalls ist session_set_save_handler nicht wirksam
Das obige ist der detaillierte Inhalt vonBeispiel dafür, wie Redis PHP ersetzt, um eine Dateispeichersitzung zu implementieren. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!