php memcache 封装类,PHP 自定义session储存 MEMCACHE 方式类

自定义session储存 MEMCACHE 方式类

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

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

/*

* 自定义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
';

return true;

}

//关闭

public static function close(){

echo 'close
';

return true;

}

//读取 echo

public static function read($sid){

echo 'read
';

$data = self::$mem->get($sid);

if(empty($data)){

return ' ';

}

return $data;

}

//写入 $_SESSION['username']='yang'

public static function write($sid,$data){

echo 'write
';

self::$mem->set($sid, $data,MEMCACHE_COMPRESSED,self::$maxlifetime);// 如果设置为0表明该元素永不过期

}

//销毁 session_destroy

public static function destroy($sid){

echo 'destroy
';

self::$mem->delete($sid,0);//0 表示立即删除 0秒

}

//回收垃圾

public static function gc($maxlifetime){

echo 'gc
';

return true;

}

}

//创建对象

$mem = new Memcache();

//添加两台memcache服务器

$mem->addserver('localhost',11211);

$mem->addserver('192.168.10.254',11211);

//开始

MemSession::start($mem);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值