session数据保存到memcache中
来源:互联网 发布:免费动态域名解析软件 编辑:程序博客网 时间:2024/05/16 04:40
/** * session数据保存到memcache中 * 使用session_set_save_handler 函数 * php.ini 设置 * 默认为session.save_handler = files,必须将其修改为session.save_handler = user,即变为用户自定义方式。 */class SessionMemcache {private static $handler=null;private static $lifetime=null;private static $time=null;const NS='session_'; private static function init($handler){self::$handler=$handler;self::$lifetime=ini_get('session.gc_maxlifetime');self::$time=time();}public static function start(Memcache $memcache){self::init($memcache);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){return true;}public static function close() {return true;}public static function read($id){$out=self::$handler->get(self::session_key($id));if($out===false || $out == null)return '';return $out;}public static function write($id, $data){$method=$data ? 'set' :'replace';return self::$handler->$method(self::session_key($id),$data, MEMCACHE_COMPRESSED, self::$lifetime);}public static function destroy($id){return self::$handler->delete(self::session_key($id));}public static function gc($lifetime){return true;}private static function session_key($id){$session_key=self::NS.$id;return $session_key;}} $memcache=new Memcache(); $memcache->connect("localhost", 11211)or die("不能连接memcache"); SessionMemcache::start($memcache);
调用文件1 memcache1.php
include 'SessionMemcache.class.php';$_SESSION["islogin3"] = 1;$_SESSION["username"] = "admin";$_SESSION["uid"] = 333;echo session_name().'='.session_id()."<br>";echo time();
调用文件2 memcache2.php
include 'SessionMemcache.class.php';print_r($_SESSION);echo "<br>";echo session_name().'='.session_id()."<br>";echo time();
调用文件3 memcache3.php
include 'SessionMemcache.class.php';$_SESSION = array();if (isset($_COOKIE[session_name()])){setcookie(session_name(), '' , time()-100, '/');}session_destroy();echo session_name().'='.session_id()."<br>";
0 0
- session数据保存到memcache中
- Session保存到Memcache中,解决读取数据慢问题
- 如何将session数据保存到memcache中,以及memcache的生存周期
- 如何将session数据保存到memcache中,以及memcache的生存周期
- ThinkPHP中将session保存到memcache中
- 将session保存到memcache
- session保存在memcache中
- PHP将session保存到memcache服务器
- 如何将session数据保存在memcache
- memcache分布式实现、memcache分布式的数据同步、memcache保存session数据的实现
- memcache保存php session
- memcache保存session
- PHP保存session到memcache服务器的方法
- memcache保存php的session
- PHP利用memcache保存session
- memcache存储session数据
- 将session信息写入到memcache中管理
- symfony中session存入到memcache中都使用方法总结
- tomcat URL不支持%2f 等 报400错误
- 练习
- cocos2d 多个背景音乐播放
- 数据库的操作
- vsl里解决strcpy编译不通过问题
- session数据保存到memcache中
- 在vb,vc中调用vb编写的DLL
- c语言 调用函数过程
- Andorid Service and WakeLock
- C#支持控制台调用的窗体程序思路
- Memcache使用方法
- NetworkX学习笔记——基本功能使用
- Jprofiler的使用
- First