国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > PHP > 正文

ThinkPHP自定義Redis處理SESSION的實現方法

2024-05-04 23:46:02
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了ThinkPHP自定義Redis處理SESSION的實現方法,結合實例形式分析了ThinkPHP相關數據庫配置與自定義Redis處理session的實現技巧,需要的朋友可以參考下
 

本文實例講述了ThinkPHP自定義Redis處理SESSION的實現方法。分享給大家供大家參考,具體如下:

日常中我們都會使用到session來保存用戶登錄的信息,常用的session的保存方式有:文件保存(默認)、數據庫保存、Redis保存、memcached等。這里主要記錄一下在用ThinkPHP處理session用Redis來保存session的用法。

1.在配置項中定義:

'SESSION_TYPE' => 'Redis', //session保存類型'SESSION_PREFIX' => 'sess_', //session前綴'REDIS_HOST' => '127.0.0.1' //REDIS服務器地址'REDIS_PORT' => 6379, //REDIS連接端口號'SESSION_EXPIRE' => 3600, //SESSION過期時間

可以ThinkPHP/Common/functions.php文件中找到定義session的方法,大約在1179行左右讀取session驅動的判斷。如果我們定義了配置項SESSION_TYPE,則會new一個Redis對象并調用會話存儲函數session_set_save_handler()。

2.在ThinkPHP/Library/Think/Session/Driver目錄下新建Redis.class.php文件

文件內容如下:

<?phpnamespace Think/Session/Driver;class Redis {//  Redis連接對象  private $redis;//  Session過期時間  private $expire;  /**   * 打開方法   * @param type $path   * @param type $name   * @return type   */  public function open($path, $name) {  $this->expire = C('SESSION_EXPIRE') ? C('SESSION_EXPIRE') : ini_get('session.gc_maxLifetime');  $this->redis = new Redis();  return $this->redis->connect(C('REDIS_HOST'), C('REDIS_PORT'));  }  /**   * 關閉   * @return type   */  public function close() {  return $this->redis->close();  }  /**   * 讀取   * @param string $id   * @return type   */  public function read($id) {  $id = C('SESSION_PREFIX') . $id;  $data = $this->redis->get($id);  return $data ? $data : '';  }  /**   * 寫入   * @param string $id   * @param type $data   * @return type   */  public function write($id, $data) {  $id = C('SESSION_PREFIX') . $id;  return $this->redis->set($id, $data, $this->expire);  }  /**   * 銷毀   * @param string $id   */  public function destroy($id) {  $id = C('SESSION_PREFIX') . $id;  $this->redis->delete($id);  }  /**   * 垃圾回收   * @param type $maxLifeTime   * @return boolean   */  public function gc($maxLifeTime) {  return true;  }}

至此就完成了Redis對session的處理。

memcached的方法和Redis差不多一樣!



注:相關教程知識閱讀請移步到PHP教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 双柏县| 定州市| 云梦县| 安图县| 临泉县| 探索| 济宁市| 千阳县| 乌拉特前旗| 桃江县| 巨鹿县| 朔州市| 临湘市| 罗定市| 台南县| 登封市| 化隆| 晋中市| 防城港市| 汝阳县| 湖南省| 静乐县| 晋城| 丹江口市| 崇文区| 枣阳市| 错那县| 金坛市| 梅州市| 陇西县| 伊春市| 抚远县| 三江| 房产| 鄯善县| 巩义市| 汝州市| 来宾市| 谢通门县| 漳州市| 四会市|