自定义session储存 MEMCACHE 方式类

在php.ini配置文件中更改设置 (Registered_save_handlers 有三种方式 files user memcache)

session.save_handler = user 表示用户自定义session类

<?php/**自定义session储存memcache方式的类**/classMemSession{publicstatic$mem;//pdo的对象publicstatic$maxlifetime;//最大生存时间publicstaticfunctionstart(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()publicstaticfunctionopen($path,$name){echo'open<br/>';returntrue;}//关闭publicstaticfunctionclose(){echo'close<br/>';returntrue;}//读取echopublicstaticfunctionread($sid){echo'read<br/>';$data=self::$mem->get($sid);if(empty($data)){return'';}return$data;}//写入$_SESSION['username']='yang'publicstaticfunctionwrite($sid,$data){echo'write<br/>';self::$mem->set($sid,$data,MEMCACHE_COMPRESSED,self::$maxlifetime);//如果设置为0表明该元素永不过期}//销毁session_destroypublicstaticfunctiondestroy($sid){echo'destroy<br/>';self::$mem->delete($sid,0);//0表示立即删除0秒}//回收垃圾publicstaticfunctiongc($maxlifetime){echo'gc<br/>';returntrue;}}//创建对象$mem=newMemcache();//添加两台memcache服务器$mem->addserver('localhost',11211);$mem->addserver('192.168.10.254',11211);//开始MemSession::start($mem);