<?php
header('content-type:text/html;charset=utf-8');
class RedisSessionHandler{
    public $ttl;             //失效时间
    protected $db;          //操作存储介质对象

    /**
     * 构造方法;
     * 注入操作介质对象,设置失效时间;
     */
    public function __construct($db,$time=1440) {
        $this->db = $db;
        $this->ttl =  $time;
    }

    /**
     * 打开方法。
     */
    function _open()
    {
        //
    }

    /**
     * 关闭方法。
     * 清空操作存储介质对象。
     */
    function _close()
    {
        $this->db = null;
        unset($this->db);
    }

    /**
     * 读取数据方法。
     */
    function _read($id)
    {
        //根据 session_id get方式获取
        $sessData = $this->db->get($id);
        //重新更新失效时间。
        $this -> db -> set( $id , $this->db->get($id), 0 , $this->ttl);
        //返回获取信息。
        return $sessData;
    }

    /**
     * 写入方法。
     */
    function _write($id, $data)
    {
        //存在即修改,不存在写入
        $this -> db -> set( $id ,$data, 0 , $this->ttl);
    }

    /**
     * 删除方法。
     */
    function _destroy($id)
    {
        $this->db->del($id);
    }

    /**
     * 垃圾回收机制。
     */
    function _clean($max)
    {
        //
    }
}

//实例化操作 memcache 对象
$mem = new \Memcache();
//链接 memcache 服务器
$mem-> connect('127.0.0.1',11211);
//实例化自定义对象
$sessHandler = new RedisSessionHandler($mem);
//更改 session 存储方式。
session_set_save_handler(
    array($sessHandler, '_open'),
    array($sessHandler, '_close'),
    array($sessHandler, '_read'),
    array($sessHandler, '_write'),
    array($sessHandler, '_destroy'),
    array($sessHandler, '_clean')
);

//操作 session ,验证定义的类有没有错。
session_start();
//$_SESSION['name']='i am superman';
//var_dump(isset($_SESSION["names"]));
echo $_SESSION["name"];
?>

session 存入 memcahce的更多相关文章

  1. session 存入数据库 php

     session 机制 1.php中session的生成机制 session是保存在服务器的,当我们在代码中调用session_start();时,PHP会同时往SESSION的存放目录(默认为/tm ...

  2. MVC4.0中项目发布遇到IE11时session存入URL中,导致记不住密码的问题

    ///MVC4.0中项目发布遇到IE11时session存入URL中,导致记不住密码的问题,在webconfig中配置<system.web><authentication mode ...

  3. 将session存入数据库,memcache的方法

    //存入数据库 <?phpif(!$con = mysql_connect('localhost','root','123456')){    die('连接数据库失败');}$link = m ...

  4. python-Web-django-商城-session存入数据库

    utils: '''用户session''' import datetime from app01.models import Sessions ''' iii = request.session.s ...

  5. 让php Session 存入 redis 配置方法

    首先要做的就是安装redis 安装方法:http://redis.io/download Installation Download, extract and compile Redis with: ...

  6. session存入redis

    Session信息入Redis Session简介 session,中文经常翻译为会话,其本来的含义是 指有始有终的一系列动作/消息,比如打电话时从拿起电话拨号到挂断电话这中间的一系列过程可以称之为一 ...

  7. 为什么要把session存入数据库

    比如网易的通行证,一个session能进入很多的网易下的网站

  8. php session存入redis

    php的会话默认以文件的形式存在,可以配知道NOSQL中,既可以提高访问速度又能好好的实现回话共享,在后期做负载均衡时实现多台服务器session 同步也是比较方便: 一:在php配置文件中改 修改p ...

  9. 将php中session存入redis中

    PHP 的会话默认是以文件的形式存在的,可以配置到 Redis 中,即提高了访问速度,又能很好地实现会话共享! 配置方式如下: 方法一:修改 php.ini 的设置 session.save_hand ...

随机推荐

  1. zzulioj--1712--Monty Hall problem(蒙提霍尔问题)

     1721: Monty Hall problem Time Limit: 1 Sec  Memory Limit: 128 MB Submit: 186  Solved: 71 SubmitSt ...

  2. (一)Eureka 服务的注册与发现

    (一)服务的注册于发现(eureka); Eureka Server: 服务注册中心,负责服务列表的注册.维护和查询等功能 在Idea里,新建项目,选择Spring initializer. 下面的p ...

  3. BZOJ 4568 倍增维护线性基

    在树的路径上选取一些点 使得这些点权xor后的结果最大 思路: 时限60s 59696ms卡过去了哈哈哈 //By SiriusRen #include <cstdio> #include ...

  4. 人生苦短,请用 Chrome!

    在网络层,互联网提供所有应用程序都要使用的两种类型的服务,尽管目前理解这些服务的细节并不重要,但在所有TCP/IP概述中,都不能忽略他们: 无连接分组交付服务(Connectionless Packe ...

  5. hdu 1051 - 贪心,水题

    题目链接 一堆小木棍,每个有两个属性值(l,w),对小木棍分组,每一组内的小木棍存在这样一个序列满足s1<=s2<=s3.....<=sn,[s1<=s2当且仅当s1.l< ...

  6. Vue this.$router.push、replace、go的区别

    1.this.$router.push 描述:跳转到不同的url,但这个方法会向history添加一个记录,点击后会返回到上一个页面 用法 //字符串 this.$router.push('home' ...

  7. NOIp2018模拟赛四十一

    现在是下午15:36,我已经改完题了...刷新纪录 A题叫B,B题叫A是什么操作??? 我离200只差一个SBFA.jpg 成绩:0+100+10=110 被虐啦...今天九个阿克的Orz.A题是个神 ...

  8. 管理windows自启动程序

    1. 点击开始,在运行程序框中输入msconfig,然后回车. 在弹出的对话框中,点击”启动“选项卡,在启动项目列表中,把不需要的启动项目前面的对号去掉. 然后切换到”服务“选项卡,这里的服务项目列表 ...

  9. python学习笔记:第四天

    day04: 一.计算求值 num += 1 等价于 num = num + 1num -= 1 等价于 num = num - 1num *= 2 等价于 num = num * 2num /= 2 ...

  10. HTTP——学习笔记(7)

    HTTP中的认证机制 什么是认证机制?: 服务器需要知道客户端是谁. 怎样知道客户端身份?: 核对“登录者本人才知道的信息” 密码:只有本人才会知道的字符串信息 动态令牌:仅限本人持有的设备内显示的一 ...