TP框架簡單session redis存儲設置


一,修改配置文件

  Library/ThinkPHP/Conf/convention.php

  SESSION_TYPE => "redis"

二,添加session redis驅動

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

  <?php
namespace Think\Session\Driver;

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");


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM