session写入memcache
1 <?php
2 class MemSession{
3 private static $handler = null;
4 private static $lifetime = null;
5 private static $time = null;
6 const MS = 'session';
7
8 private static function init($handler){
9 self::$handler = $handler;
10 self::$lifetime = ini_get('session.gc_maxlifetime');
11 self::$time = time();
12 }
13
14 public static function start($memcache){
15 self::init($memcache);
16 //调用类中的方法要用数组,__CLASS__代表本类
17 session_set_save_handler(
18 array(__CLASS__,'open'),
19 array(__CLASS__,'close'),
20 array(__CLASS__,'read'),
21 array(__CLASS__,'write'),
22 array(__CLASS__,'destroy'),
23 array(__CLASS__,'gc')
24 );
25 session_start();
26 }
27
28 public static function open($path,$name){
29
30 }
31 public static function close(){
32
33 }
34
35 public static function read($PHPSESSID){
36 $val = self::$handler->get(self::session_key($PHPSESSID));
37
38 if($val===false || $val==null){
39 return false;
40 }
41 return $val;
42 }
43 public static function write($PHPSESSID,$data){
44 $method = $data? 'set':'replace';
45 return self::$handler->$method(self::session_key($PHPSESSID),$data,MEMCACHE_COMPRESSED,self::$lifetime);
46 }
47
48 public static function destroy($PHPSESSID){
49 return self::$handle->delete(self::session_key($PHPSESSID));
50 }
51 //memcache本身就有限定时间,数据自动销毁,所以可不使用gc方法
52 public static function gc($lifetime){
53 return true;
54 }
55
56 //给sessionID加前缀,避免key重复
57 private static function session_key($PHPSESSID){
58 $session_key = self::MS.$PHPSESSID;
59 return $session_key;
60 }
61 }
62 $mem = new Memcache;
63 $mem->connect("localhost",11211) or die("could not connect");
64 MemSession::start($mem);
session写入memcache的更多相关文章
- 将Session写入Memcache
		通过session_set_save_handler()方法自定义Session写入Memcache <?php class MemSession{ private static $handle ... 
- 将Session写入数据库
		使用session_set_save_handler()函数,将Session的内容写入数据库 <?php /* *@author Fahy *@link http://home.cnblogs ... 
- session 存到memcache里
		web服务器的php session都给memcached ,这样你不管分发器把 ip连接分给哪个web服务器都不会有问题了,配置方法很简单,就在php的配置文件内 增加一条语句就可以了,不过前提你需 ... 
- PHP session 写入数据库中的方法
		首先解释下为什么要把session 写到数据库中呢,session 一般默认是以文件的形式放在php.ini 配置的目录中的, 如果你的网站实现了多台服务器负载均衡,这样用户访问你的网站,可能进入的服 ... 
- [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 ... 
- c# Session写入读取操作
		/// <summary> /// 写Session /// </summary> /// <typeparam name="T">Sessio ... 
- session写入数据库
		<?php class session { private static $handle = null; private static $ip = null; private static $l ... 
- session之memcache
		nginx服务器配置:192.168.200.111[root@nginx ~]# hostname nginx[root@nginx ~]# bash[root@nginx ~]# vim /usr ... 
- session或memcache过期之后跳转到登陆页面并跳出iframe框架
		<!--在你想控制跳转的页面,比如login.html中的<head>与</head>之间加入以下代码:--> <script> if (window ... 
随机推荐
- Windows界面设计标准
			Windows界面设计标准..- Windows界面设计标准 Windows 界面设计标准 1. 易用性 界面元素的名称.标签应该易懂,用词准确,避免使用模楞两可的字眼,要与同一界面上的其他元素易于区 ... 
- Python3 TA-Lib
			This is a Python wrapper for TA-LIB based on Cython instead of SWIG. From the homepage: TA-Lib is wi ... 
- Jmeter之解决烦人的中文乱码问题
			Jmeter是一款国外开源工具,所以就跟LR一样,对中文的支持不是很好,经常会有同学录制脚本后回放或者是发送HTTP请求,看到响应报文里面有乱码! 那如何才能解决这个问题呢?我们分2个情况来分析: 一 ... 
- MySQL使用聚合函数查询
			create table `t_grade` ( `id` int , `stuName` varchar (60), `course` varchar (60), `score` int ); in ... 
- linux Module驱动开发-一切刚刚开始
			linux内核是可以高度定制的,通过配置编译选项达到定制的目的. 在配置kernel编译选项时驱动程序的编译选项一般有三种,不编译.编译为内核驱动.编译为模块驱动.所以linux驱动一般分为两类,内核 ... 
- 分布式memcached-虚拟节点
			1.通过memcached服务器下的不同端口来达到模拟多台服务器的效果 2.假设现在有三台memcached服务器,本地分别使用11211,11212,11213三个端口来模拟 ①打开端口 ②连接端口 ... 
- node.js的fs核心模块读写文件操作  -----由浅入深
			node.js 里fs模块 常用的功能 实现文件的读写 目录的操作 - 同步和异步共存 ,有异步不用同步 - fs.readFile 都不能读取比运行内存大的文件,如果文件偏大也不会使用readFil ... 
- Project 10:简单图像的绘制
			目标:绘制如图图像 #include <stdio.h> int main() { int n,i,j,o,k=0; printf("请输入一个数:"); scanf( ... 
- 字符串和转为Data类型前后几天
			以防忘记:SimpleDateFormat 可以设置字符串的格式 package com.apploft.util.lang;import java.text.SimpleDateFormat;imp ... 
- python tornado 实现类禅道系统
			最近楼主加班 喽, 好久没有更新我的博客了,哎,一言难尽,废话我就不说了,来开始上精华. 背景:目前市面上有很多bug管理工具,但是各有各的特点,最著名,最流行的就是禅道,一个偶然的机会接触到了pyt ... 
