激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - PHP教程 - ThinkPHP自定義Redis處理SESSION的實現方法

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

2021-01-19 16:25懶人 PHP教程

這篇文章主要介紹了ThinkPHP自定義Redis處理SESSION的實現方法,結合實例形式分析了ThinkPHP相關數據庫配置與自定義Redis處理session的實現技巧,需要的朋友可以參考下

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

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

1.在配置項中定義:

?
1
2
3
4
5
'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文件

文件內容如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
<?php
namespace 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差不多一樣!

希望本文所述對大家基于ThinkPHP框架的PHP程序設計有所幫助。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 日本黄色大片免费 | 日本在线视频二区 | 末成年女av片一区二区 | 成人午夜免费看 | 斗罗破苍穹在线观看免费完整观看 | 91九色视频在线播放 | 在线观看视频日本 | 叉逼视频| 久久久久av电影 | 欧美精品一区二区视频 | 真人一级毛片免费 | 黄色片免费在线播放 | 久久精品免费网站 | 黄色aaa视频| 男女羞羞在线观看 | 看个毛片 | 亚洲成人国产综合 | 国产一区二区三区四区五区在线 | 黄色影院在线看 | 久久久经典视频 | 亚洲成人高清在线观看 | 久久精品视频一区二区三区 | 国产69精品久久久久久久久久 | 欧美淫视频 | 欧美一级片 在线播放 | 成年人黄色免费电影 | 日韩av电影免费看 | 午夜天堂在线 | 99精品在线观看 | 一区二区三区在线视频观看58 | 一本到免费视频 | 逼片 | 二区三区四区视频 | hd日本xxxx | 黄网站免费在线看 | 麻豆传传媒久久久爱 | 国产午夜免费视频 | 国产九九热 | 久久国产精品影视 | 国产亚洲精品久久久久久久软件 | 黄色网址进入 |