<?php require 'Predis.phar'; use Predis\Client; ini_set('session.save_path', 'tcp://localhost:6379'); ini_set('session.name', 'YMFSESSION'); ini_set('session.save_handler', 'user'); class MySession implements SessionHandlerInterface { private $redis; private function connect() { if(!$this->redis) { $cfg = [ 'scheme' => 'tcp', 'host' => '127.0.0.1', 'port' => 6379 ]; $this->redis = new \Predis\Client($cfg); } } /** * Close the session * @since 5.4.0 */ public function close() { $this->redis->quit(); return true; } /** * Destroy a session * @since 5.4.0 */ public function destroy($session_id) { $this->connect(); return $this->redis->del($session_id); } /** * Cleanup old sessions * @since 5.4.0 */ public function gc($maxlifetime) { return true; } /** * Initialize session * @since 5.4.0 */ public function open($save_path, $session_id) { return true; } /** * Read session data * @since 5.4.0 */ public function read($session_id) { $this->connect(); $data = $this->redis->get($session_id); return $data; } /** * Write session data * @since 5.4.0 */ public function write($session_id, $session_data) { $this->connect(); $expire = configure('Ymf.Account.expire'); if(is_int($expire) && $expire > 0) { $result = $this->redis->setex($session_id, $expire, $session_data); $re = $result ? 'true' : 'false'; }else{ $result = $this->redis->set($session_id, $session_data); $re = $result ? 'true' : 'false'; } var_dump($result); return $re; } } session_set_save_handler(new MySession()); session_start(); $_SESSION['name'] = 43;
这是目录
<?php require 'Predis.phar'; use Predis\Client; ini_set('session.save_path', 'tcp://localhost:6379'); ini_set('session.name', 'YMFSESSION'); ini_set('session.save_handler', 'user'); class MySession implements SessionHandlerInterface { private $redis; private function connect() { if(!$this->redis) { $cfg = [ 'scheme' => 'tcp', 'host' => '127.0.0.1', 'port' => 6379 ]; $this->redis = new \Predis\Client($cfg); } } /** * Close the session * @since 5.4.0 */ public function close() { $this->redis->quit(); return true; } /** * Destroy a session * @since 5.4.0 */ public function destroy($session_id) { $this->connect(); return $this->redis->del($session_id); } /** * Cleanup old sessions * @since 5.4.0 */ public function gc($maxlifetime) { return true; } /** * Initialize session * @since 5.4.0 */ public function open($save_path, $session_id) { return true; } /** * Read session data * @since 5.4.0 */ public function read($session_id) { $this->connect(); $data = $this->redis->get($session_id); return $data; } /** * Write session data * @since 5.4.0 */ public function write($session_id, $session_data) { $this->connect(); $expire = configure('Ymf.Account.expire'); if(is_int($expire) && $expire > 0) { $result = $this->redis->setex($session_id, $expire, $session_data); $re = $result ? 'true' : 'false'; }else{ $result = $this->redis->set($session_id, $session_data); $re = $result ? 'true' : 'false'; } var_dump($result); return $re; } } session_set_save_handler(new MySession()); session_start(); $_SESSION['name'] = 43;
这是目录
use 是使用命名空间的意思
use Predis\Client;
使用Predis空间下的 client 类
use \Predis\Client;
或者即然下面使用时用的完整命名空间,直接把use去掉
立即学习“PHP免费学习笔记(深入)”;
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号