亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 語言 > PHP > 正文

session 加入redis的實現代碼

2024-05-04 23:48:10
字體:
來源:轉載
供稿:網友

Session信息入redis

Session簡介

session,中文經常翻譯為會話,其本來的含義是 指有始有終的一系列動作/消息,比如打電話時從拿起電話撥號到掛斷電話這中間的一系列過程可以稱之為一個session。有時候我們可以看到這樣的話“在 一個瀏覽器會話期間,...”,這里的會話一詞用的就是其本義,是指從一個瀏覽器窗口打開到關閉這個期間①。最混亂的是“用戶(客戶端)在一次會話期間”這樣一句話,它可能指用戶的一系列動作(般情況下是同某個具體目的相關的一系列動作,比如從登錄到選購商品到結賬登出這樣一個網上購物的過程,有時候也被稱為一個transaction),然而有時候也可能僅僅是指一次連接,也有可能是指含義①,其中的差別只能靠上下文來推斷②。

在本文中,使用中文“瀏覽器會話期間”來表達含義①,使用“session機制”來表達含義④,使用“session”表達含義⑤,使用具體的“HttpSession”來表達含義⑥

為什么要把SESSION保存在緩存

就php來說,語言本身支持的session是以文件的方式保存到磁盤文件中,保存在指定的文件夾中,保存的路徑可以在配置文件中設置或者在程序中使用函數session_save_path()進行設置,但是這么做有弊端,
第一就是保存到文件系統中,效率低,只要有用到session就會從好多個文件中查找指定的sessionid,效率很低。
第二就是當用到多臺服務器的時候可能會出現,session丟失問題(其實是保存在了其他服務器上)。
當然了,保存在緩存中可以解決上面的問題,如果使用php本身的session函數,可以使用 session_set_save_handler()函數很方便的對session的處理過程進行重新控制。如果不用php的session系列函數, 可以自己編寫個類似的session函數,也是可以的,我現在做的這個項目就是這樣,會根據用戶的mid、登錄時間進行求hash作為 sessionId,每次請求的時候都必須加上sessionId才算合法(第一次登錄的時候是不需要的,這個時候會創建sessionId,返回給客戶 端),這么做也很方便、簡潔高效的。當然了,我這篇文章主要說的是在php自身的SESSION中”做做手腳”。

SESSION保存在緩存中

php將緩存保存到redis中,可以使用配置文件,對session的處理和保存做修改,當然了,在程序中使用ini_set()函數去修改也可以,這個很方便測試,我這里就使用這種方式,當然了,要是生產環境還是建議使用配置文件。

如果想簡單操作session入redis操作可以將一下代碼運行一下

<?php  ini_set("session.save_handler", "redis");  ini_set("session.save_path", "tcp://localhost:6379");  session_start();  header("Content-type:text/html;charset=utf-8");  if(isset($_SESSION['view'])){    $_SESSION['view'] = $_SESSION['view'] + 1;  }else{    $_SESSION['view'] = 1;  }  echo "【view】{$_SESSION['view']}";  //這里設置session.save_handler方式為redis,session.save_path為redis的地址和端口,設置之后刷新,再回頭查看redis,會發現redis中的生成了sessionId,sessionId和瀏覽器請求的是一樣的,     //也可以使用  Session_set_save_handler(‘open','close',' read',' write',' destory',' gc');  //用法如下自定義一個Redis_session類  <?php  class RedisSession{    private $_redis = array(      'handler' => null, //數據庫連接句柄      'host' => null,  //redis端口號      'port' => null,    );    public function __construct($array = array()){      isset($array['host'])?$array['host']:"false";      isset($array['port'])?$array['host']:"false";      $this->_redis = array_merge($this->_redis, $array);    }    public function begin(){      //設置session處理函數      session_set_save_handler(        array($this, 'open'),        array($this, 'close'),        array($this, 'read'),        array($this, 'write'),        array($this, 'destory'),        array($this, 'gc')      );    }    public function open(){      $redis = new Redis();      $redis->connect($this->_redis['host'], $this->_redis['port']);      if(!$redis){        return false;      }         $this->_redis['handler'] = $redis;      $this->gc(null);      return true;    }    //關    public function close(){      return $this->_redis['handler']->close();    }    //讀    public function read($session_id){      return $this->_redis['handler']->get($session_id);    }    //寫    public function write($sessionId, $sessionData){      return $this->_redis['handler']->set($sessionId, $sessionData);    }    public function destory($sessionId){      return $this->_redis['handler']->delete($sessionId) >= 1 ? true : false;    }    public function gc(){      //獲取所有sessionid,讓過期的釋放掉      $this->_redis['handler']->keys("*");      return true;    }  }  $ses = new RedisSession(array('host'=>'127.0.0.1','port'=>'6379'));  $ses->begin();  session_start();  $_SESSION['name']='zhangsan';  echo $_SESSION['name']; 

這樣就可以實現session數據如redis代碼執行過程中必須安裝redis才可以。


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

圖片精選

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
成人福利视频在线观看| 91经典在线视频| 精品国产区一区二区三区在线观看| 亚洲精品视频网上网址在线观看| 国产精品美女主播| 欧美日韩免费网站| 成人在线精品视频| 九九久久久久久久久激情| 久久精品福利视频| 久久久久久12| 在线丨暗呦小u女国产精品| 国产精品久久久久久av下载红粉| 欧美视频免费在线| 这里只有精品在线播放| 97国产精品人人爽人人做| www.欧美三级电影.com| 日韩三级成人av网| 国产精品国产三级国产aⅴ浪潮| 亚洲免费av网址| 亚洲午夜精品久久久久久性色| 国产精品偷伦一区二区| 欧美一区二区影院| 欧美日韩国产专区| 国产日韩在线精品av| 菠萝蜜影院一区二区免费| 久久久久久亚洲精品中文字幕| 永久555www成人免费| 日韩av中文字幕在线免费观看| 亚洲成人av在线播放| 欧美xxxx综合视频| 国产97免费视| www日韩欧美| 91po在线观看91精品国产性色| 欧美日韩免费一区| 高清欧美一区二区三区| 热久久99这里有精品| 久久精品免费电影| 日韩专区中文字幕| 亚洲xxx自由成熟| 日韩欧美精品免费在线| 97精品国产97久久久久久春色| 久久久久久尹人网香蕉| 国产精品视频区1| 久久久久久国产精品三级玉女聊斋| 九九综合九九综合| 久久久精品一区二区三区| 欧美限制级电影在线观看| 国产在线观看一区二区三区| 国产日韩欧美成人| 亚洲成人黄色网址| 久久69精品久久久久久国产越南| 久久99国产精品自在自在app| 伊人久久久久久久久久久久久| 亚洲国产小视频在线观看| 国产精品久久久久久久久久ktv| 久久久久久com| 国产精品美女免费看| 国产日产亚洲精品| 91九色视频导航| 亚洲欧美国产精品久久久久久久| 欧美怡红院视频一区二区三区| 亚洲精品午夜精品| 美女视频黄免费的亚洲男人天堂| 91在线观看免费网站| 欧美一级电影在线| 亚洲男人第一av网站| 亚洲精品电影久久久| 欧美日韩亚洲视频| 亚洲综合色激情五月| 国产亚洲免费的视频看| 精品日本美女福利在线观看| 不卡av在线播放| 精品成人乱色一区二区| 久久91亚洲精品中文字幕| 4438全国成人免费| 久久青草精品视频免费观看| 欧洲美女7788成人免费视频| 一区二区三区高清国产| 最近2019中文字幕在线高清| 国产一区二区日韩精品欧美精品| 国产精品91在线观看| 亚洲片国产一区一级在线观看| 亚洲成人久久久久| 亚洲欧美制服综合另类| 91中文字幕在线观看| 91国内揄拍国内精品对白| 成人精品一区二区三区电影免费| 日韩人体视频一二区| 国产日韩在线亚洲字幕中文| 久久成人精品一区二区三区| 97精品视频在线观看| 久久久久在线观看| 亚洲成人久久一区| 国产精品视频网| 91精品视频免费| 欧美激情精品久久久久久免费印度| 17婷婷久久www| 国产极品精品在线观看| 国产精品日韩在线观看| 日韩69视频在线观看| 欧美日韩国产精品| 欧美精品18videos性欧美| 日本午夜人人精品| 综合激情国产一区| 91精品国产九九九久久久亚洲| 日韩欧美国产成人| 久久精品国产亚洲7777| 97香蕉久久超级碰碰高清版| 国外成人在线视频| 日韩高清人体午夜| 国产成人精品a视频一区www| 久久人人爽国产| 97精品欧美一区二区三区| 久久成年人视频| 日韩av网站电影| 久久99热精品| 亚洲国产精品久久久久秋霞不卡| 日本成人精品在线| 欧美日韩亚洲国产一区| 亚洲国产精品女人久久久| 久久人人爽亚洲精品天堂| 欧美风情在线观看| 久久久久久亚洲精品| 色伦专区97中文字幕| 欧美性精品220| 精品一区二区三区四区| 日韩精品免费综合视频在线播放| 亚洲一区二区三区成人在线视频精品| 久热精品在线视频| 亚洲精品91美女久久久久久久| 亚洲精品按摩视频| 亚洲高清福利视频| 欧美在线视频a| 国产日韩欧美91| 在线精品视频视频中文字幕| 国产精品自拍网| 亚洲国产91精品在线观看| 欧美大人香蕉在线| 97在线视频免费观看| 亚洲激情视频在线| 久久精品欧美视频| 88国产精品欧美一区二区三区| 欧美成人在线影院| 91av国产在线| 粗暴蹂躏中文一区二区三区| 久久青草福利网站| 国产99久久精品一区二区永久免费| 欧美日韩在线另类| 欧美极品在线播放| 亚洲欧美激情在线视频| 5278欧美一区二区三区| 国产精品亚洲自拍| 97精品一区二区三区| 中文字幕视频一区二区在线有码| 久久在精品线影院精品国产| 色综合视频一区中文字幕| 欧美成人精品在线视频| 91干在线观看| 国产精品99久久久久久www| 亚洲视频综合网| 欧美人在线视频| 亚洲片av在线| 亚洲黄色片网站| 日韩亚洲欧美中文在线|