zoukankan      html  css  js  c++  java
  • TP框架简单session redis存储设置

    一,修改配置文件

      Library/ThinkPHP/Conf/convention.php

      SESSION_TYPE => "redis"

    二,添加session redis驱动

      Library/ThinkPHP/Think/Session/Driver/Redis.class.php

      <?php
    namespace ThinkSessionDriver;

    class Redis {
        /**
         * Session有效时间
         */
        protected $lifeTime = '';
        /**
         * 数据库句柄
         */
        protected $hander;
        
        protected $prefix = 'SESS:';
        
        /**
         * 打开Session
         * @access public
         *
         * @param string $savePath
         * @param mixed  $sessName
         */
        public function open($savePath, $sessName){
            $this->hander = redis实例
            $this->lifeTime = C('SESSION_OPTIONS.expire') ? C('SESSION_OPTIONS.expire') : ini_get('session.gc_maxlifetime');
            $this->prefix = C('SESSION_PREFIX') ? C('SESSION_PREFIX') : $this->prefix;
            return true;
        }
        /**
         * 关闭Session
         * @access public
         */
        public function close(){
            $this->gc($this->lifeTime);
            $this->hander->close();
            return $this->hander = null;
        }
        /**
         * 读取Session
         * @access public
         *
         * @param string $sessID
         */
        public function read($sessID) {
            $res = $this->hander->get($this->prefix.$sessID);
            if(!$res){
                return '';
            }
            return $res;
        }
        /**
         * 写入Session
         * @access public
         *
         * @param string $sessID
         * @param String $sessData
         */
        public function write($sessID, $sessData) {
            $res = $this->hander->setex($this->prefix.$sessID, $sessData, $this->lifeTime);
            if (!$res) {
                return false;
            } else {
                return true;
            }
        }
        /**
         * 删除Session
         * @access public
         *
         * @param string $sessID
         */
        public function destroy($sessID) {
            $count = $this->hander->delete($this->prefix.$sessID);
            if ($count) {
                return true;
            }
            return false;
        }
        
        /**
         * Session 垃圾回收
         * @access public
         *
         * @param string $sessMaxLifeTime
         */
        public function gc($sessMaxLifeTime) {
            // Redis 自动回收
            return true;
        }
    }

    方法二,也可以直接修改php.ini

      ini_set('session.save_handler','redis');
           ini_set("session.save_path","tcp://127.0.0.1:6379");

    PHP中常见的问题点,知识点,及盲点。
  • 相关阅读:
    ORACLE 9i数据库服务器的体系结构
    datareader ,dataset ,datatable使用的区别
    ArrayList、Hashtable、DataTable、DataView、DataReader和DataSet,DataGrid等的区别和各自的优缺点
    oracle安装后net不能登陆(三a)
    c#的事件机制示例代码: 猫> 老鼠, 主人
    如果你是一个踌躇满志的男人
    oracel 数据字段类型
    ORAL架构
    也谈猫、老鼠、主人的观察者模式问题 (zhuang)
    4 phrases everyday000
  • 原文地址:https://www.cnblogs.com/sblack/p/13618582.html
Copyright © 2011-2022 走看看