通过session_set_save_handler()方法自定义Session写入Memcache

 <?php
class MemSession{
private static $handler = null;
private static $lifetime = null;
private static $time = null;
const MS = 'session'; private static function init($handler){
self::$handler = $handler;
self::$lifetime = ini_get('session.gc_maxlifetime');
self::$time = time();
} public static function start($memcache){
self::init($memcache);
//调用类中的方法要用数组,__CLASS__代表本类
session_set_save_handler(
array(__CLASS__,'open'),
array(__CLASS__,'close'),
array(__CLASS__,'read'),
array(__CLASS__,'write'),
array(__CLASS__,'destroy'),
array(__CLASS__,'gc')
);
session_start();
} public static function open($path,$name){ }
public static function close(){ } public static function read($PHPSESSID){
$val = self::$handler->get(self::session_key($PHPSESSID)); if($val===false || $val==null){
return false;
}
return $val;
}
public static function write($PHPSESSID,$data){
$method = $data? 'set':'replace';
return self::$handler->$method(self::session_key($PHPSESSID),$data,MEMCACHE_COMPRESSED,self::$lifetime);
} public static function destroy($PHPSESSID){
return self::$handle->delete(self::session_key($PHPSESSID));
}
//memcache本身就有限定时间,数据自动销毁,所以可不使用gc方法
public static function gc($lifetime){
return true;
} //给sessionID加前缀,避免key重复
private static function session_key($PHPSESSID){
$session_key = self::MS.$PHPSESSID;
return $session_key;
}
}
$mem = new Memcache;
$mem->connect("localhost",11211) or die("could not connect");
MemSession::start($mem);

将Session写入Memcache的更多相关文章

  1. session写入memcache

    1 <?php 2 class MemSession{ 3 private static $handler = null; 4 private static $lifetime = null; ...

  2. 将Session写入数据库

    使用session_set_save_handler()函数,将Session的内容写入数据库 <?php /* *@author Fahy *@link http://home.cnblogs ...

  3. session 存到memcache里

    web服务器的php session都给memcached ,这样你不管分发器把 ip连接分给哪个web服务器都不会有问题了,配置方法很简单,就在php的配置文件内 增加一条语句就可以了,不过前提你需 ...

  4. PHP session 写入数据库中的方法

    首先解释下为什么要把session 写到数据库中呢,session 一般默认是以文件的形式放在php.ini 配置的目录中的, 如果你的网站实现了多台服务器负载均衡,这样用户访问你的网站,可能进入的服 ...

  5. [Yii Framework] Share the session with memcache in Yii

    When developing distributed applications with Yii, naturally, we will face that we have to share the ...

  6. c# Session写入读取操作

    /// <summary> /// 写Session /// </summary> /// <typeparam name="T">Sessio ...

  7. session写入数据库

    <?php class session { private static $handle = null; private static $ip = null; private static $l ...

  8. session之memcache

    nginx服务器配置:192.168.200.111[root@nginx ~]# hostname nginx[root@nginx ~]# bash[root@nginx ~]# vim /usr ...

  9. session或memcache过期之后跳转到登陆页面并跳出iframe框架

    <!--在你想控制跳转的页面,比如login.html中的<head>与</head>之间加入以下代码:--> <script> if (window ...

随机推荐

  1. 调试报“The source file is different from when the module was built.”问题的解决

    It is related to the checksums which is used to ensure that you are stepping in matching source. You ...

  2. 引入js和css文件的总结

    1.用script标签引入javascript时,浏览器对于javascript的加载某些是并行的,某些是串行的,如IE8,Chorme2和firefox3都是串行加载的. 2.charset编码也就 ...

  3. jquery实现全选功能

    主要是模拟一些网页中的表格实现全选功能. <form> 你爱好的运动是: <input type="checkbox" id="Check" ...

  4. 在IIS7中使用ARR(Application Request Routing)反向代理虚拟目录到Nodejs站点

    目标: 1.访问www.arrdemo.com/proxy 跳转到 localhost:8898的Nodejs站点 2.Nodejs站点的页面可以返回到浏览器,包括js,css,图片 3.Nodejs ...

  5. WebApi传参总动员(三)

    上篇介绍了如何从输入流中获取实体对象.本篇介绍以url形式传递参数.简单的参数不再赘述,这里主要实现形如(string name,Woman woman)这样的参数传递. 本篇及后面几章均涉及js调用 ...

  6. jQuery $.extend() 和 $.fn.extend() 用法

    http://blog.csdn.net/xuemoyao/article/details/19021659

  7. 2015-2016 ACM-ICPC, NEERC, Southern Subregional Contest, B. Layer Cake

    Description Dasha decided to bake a big and tasty layer cake. In order to do that she went shopping ...

  8. CentOS7.2设置zabbix

    准备工作 1.lnmp或lamp环境,本机环境:CentOS 7.2 64位,nginx1.10.2 php5.6.26 mysql5.7.15 2.软件Zabbix wget http://nchc ...

  9. Ahjesus Nodejs01 环境搭建及运行

    访问http://nodejs.org/,根据系统选择下载文件,我用的win7 64 安装一路下一步直到完成 运行cmd输入node -v查看是否安装成功 成功会显示版本号 到此环境搭建完毕 ==== ...

  10. NYOJ 42 一笔画问题

    一笔画问题 时间限制:3000 ms  |  内存限制:65535 KB 难度:4   描述 zyc从小就比较喜欢玩一些小游戏,其中就包括画一笔画,他想请你帮他写一个程序,判断一个图是否能够用一笔画下 ...