自定义session储存 MEMCACHE 方式类
在php.ini配置文件中更改设置 (Registered_save_handlers 有三种方式 files user memcache)
session.save_handler = user 表示用户自定义session类
<?php /* * 自定义session储存memcache方式的类 * */ class MemSession{ public static $mem; //pdo的对象 public static $maxlifetime; //最大生存时间 public static function start(Memcache $mem){//限制变量是Memcache类 self::$mem = $mem; self::$maxlifetime = ini_get('session.gc_maxlifetime'); //注册自定义函数 session_set_save_handler( array(__CLASS__,'open'), array(__CLASS__,'close'), array(__CLASS__,'read'), array(__CLASS__,'write'), array(__CLASS__,'destroy'), array(__CLASS__, 'gc')); //开启会话 session_start(); } //开始 sesssion_start() public static function open($path,$name){ echo 'open<br/>'; return true; } //关闭 public static function close(){ echo 'close<br/>'; return true; } //读取 echo public static function read($sid){ echo 'read<br/>'; $data = self::$mem->get($sid); if(empty($data)){ return ' '; } return $data; } //写入 $_SESSION['username']='yang' public static function write($sid,$data){ echo 'write<br/>'; self::$mem->set($sid, $data,MEMCACHE_COMPRESSED,self::$maxlifetime);// 如果设置为0表明该元素永不过期 } //销毁 session_destroy public static function destroy($sid){ echo 'destroy<br/>'; self::$mem->delete($sid,0);//0 表示立即删除 0秒 } //回收垃圾 public static function gc($maxlifetime){ echo 'gc<br/>'; return true; } } //创建对象 $mem = new Memcache(); //添加两台memcache服务器 $mem->addserver('localhost',11211); $mem->addserver('192.168.10.254',11211); //开始 MemSession::start($mem);
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。