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中常见的问题点,知识点,及盲点。
  • 相关阅读:
    简单工厂设计模式
    MVC备忘
    在MVC后台代码中想实现删除时弹出"确认删除"效果
    集合
    嵌套
    整理 补课内容
    百鸡百钱
    ////输入一个100以内的数,判断是不是正整数;
    课后题 5 6
    课后题3,4
  • 原文地址:https://www.cnblogs.com/sblack/p/13618582.html
Copyright © 2011-2022 走看看