<?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. ORA-01119、ORA-27040

    SQL> alter tablespace DRSYS add datafile '/ora_data/drsys02.dbf' size 1000m;alter tablespace DRSY ...

  2. 深入C#类的方法

    构造函数 example1: static void Main(string [] args) { SE engineer=new SE(); engineer.Age=; enginner.Name ...

  3. sql-查看执行计划的方法

    sql执行计划:把SQL语句拆分为每个的操作步骤组合,按照一定的顺序执行得出结果,查看并看懂执行计划是调优的关键步骤 查看执行计划的方法 DBMS_XPLAN包 sql*plus AUTO trace ...

  4. 新疆大学OJ(ACM) 1047: string 字符串排序

    1047: string 时间限制: 1 Sec  内存限制: 128 MB 题目描述 有n个字符串字符串n<=50000,把所有字符串串起来,得到一个字典序最小的字符串. 输入 输入第一行是一 ...

  5. HDU 4190 Distributing Ballot Boxes【二分答案】

    题意:给出n个城市,n个城市分别的居民,m个盒子,为了让每个人都投上票,问每个盒子应该装多少张票 二分盒子装的票数, 如果mid<=m,说明偏大了,r应该向下逼近 ,r=mid 如果mid> ...

  6. 1028C:Rectangles

    You are given n rectangles on a plane with coordinates of their bottom left and upper right points. ...

  7. javascript中的正则示例

    // 方式一var obj_re = new RegExp("\d+","gi"); //g 全局,i 不区分大小写obj_re.test("fasf ...

  8. Dispatch Groups

    Dispatch Groups are objects that allow several tasks to be grouped for later joining. Tasks can be a ...

  9. SpringBoot学习笔记(12)----SpringBoot实现多个 账号轮询发送邮件

    首先,引入发送邮件的依赖,由于freemarker自定义模板,所以也需要把freemarker的依赖引入 pom.xml文件 <dependency> <groupId>org ...

  10. webpack中optimization 的 runtimeChunk 是干嘛的

    结论:把runtime部分的代码抽离出来单独打包 https://developers.google.com/web/fundamentals/performance/webpack/use-long ...