日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

優化使用mysql存儲session

瀏覽:254日期:2023-10-26 19:38:49

之前寫過兩篇文章《自定義SESSION(二)——數據庫保存》和《我為什么不使用session》 但后來發現都有問題。前者處理在實際中幾乎沒什么用處,而且session回收還得自己另外處理。后者頻繁的操作數據庫,打來了很大的性能問題。

這兩天仔細考慮下,大致給出一個方案,但還沒有具體詳細的測試。 1、session處理和統計結合起來。同時游客也都有記錄。 2、完全使用數據庫和cookie來模擬session的功能。 3、用戶的對session的操作都盡量保證在一條sql語句完成。不用到session的時候,絕對不多一條查詢。 4、為了效率起見,session的回收沒有集成進來,但提供了接口,可以調用實現。

暫時給出代碼,不具體解釋。sql

CREATE TABLE `*****_session` (`sid` char(32) NOT NULL,`uid` int(10) NOT NULL,`username` char(32) NOT NULL,`usertype` tinyint(1) NOT NULL,`activetime` int(10) NOT NULL,`expiry` int(10) NOT NULL,`ip` char(15) NOT NULL,`url` char(80) NOT NULL,`value` char(255) NOT NULL,PRIMARY KEY; (`sid`)) ENGINE=MEMORY DEFAULT CHARSET=utf8;

php代碼

<?class session{ private $_sessionPrex= '';//session的前綴 private $_time = '';//當前時間 private $_model = null;//數據庫操作模型 private $_expiry = 1200;//session有效時間 private $_domain = '';//session的作用域 protected $isNew = 0;//判定操作動作 0 更新 1 增加 protected $session = array();//對應的一條session記錄 public function __construct($options){ $this->_setOptions($options); if(empty($this->_time))$this->_time = time(); $this->session['activetime'] = $this->_time; } public function start(){ $this->_getSid(); } public function set($key,$value){ if(in_array($key,array('uid','username','usertype','url','expiry'))){ if($key == 'expiry'){ $this->_setCookie($this->_sessionPrex.'_sid',$this->session['sid'],$value); $this->_setCookie($this->_sessionPrex.'_uid',$this->session['uid'],$value); } $this->session[$key] = $value; }else{ $other = $this->session['value']; $other[$key] = $value; $this->session['value'] = $other; } } public function get($key){ if(in_array($key,array('uid','username','usertype','url','expiry'))){ return $this->session[$key]; }else{ if(isset($this->session['value'][$key])){ return $this->session['value'][$key]; } return null; } } public function gc($file,$time = 1200){ $lasttime = file_get_contents($file); if($lasttime + $time<$this->_time){ file_put_contents($file,$this->_time); return $this->_model->delete('activetime+expiry<'.$this->_time); } } public function destroy(){ $this->session['uid'] = 0; $this->session['username'] = ''; $this->session['usertype'] = -1; $this->session['expiry'] = $this->_expiry; $this->session['value'] = array(); $this->_setCookie($this->_sessionPrex.'_sid',$this->session['sid'],$this->_expiry); $this->_setCookie($this->_sessionPrex.'_uid',$this->session['uid'],$this->_expiry); } public function __destruct(){ $this->_save(); } private function _save(){ $dbSession = $this->session; $dbSession['value'] = serialize($dbSession['value']); if(strlen($dbSession['value'])>255)$this->_error('session->value is too long!'); if($this->isNew == 1){ //增加 $this->_model->insert($dbSession); }else{ //更新 $sid = $dbSession['sid']; $this->_model->update(array_slice($dbSession,1),'sid=''.$sid.'''); } } private function _getSession($sid){ $dbSession = $this->_model->detail('sid = ''.$sid.'''); if(!$dbSession)return false; $dbSession['value'] = unserialize($dbSession['value']); $this->session = array_merge($dbSession,$this->session) return true; } private function _getSid(){ $sid = strip_tags($_COOKIE[$this->_sessionPrex.'_sid']); if(strlen($sid)==32){ if($this->_getSession($sid)){ return true; } }else{ $sid = md5(time().mt_rand(1000,10000)); $this->_setCookie($this->_sessionPrex.'_sid',$sid); } $this->_setCookie($this->_sessionPrex.'_uid',0); $this->session = array( 'uid' => 0, 'username' => '', 'usertype' => -1, 'activetime' => $this->_time, 'ip' => $this->_getip(), 'url' => strip_tags($_SERVER['REQUEST_URI']), 'expiry' =>$this->_expiry, 'value' => array() ); $this->isNew = 1; $this->session['sid'] = $sid; } private function _setCookie($name,$value,$expiry=0){ if(empty($expiry))$expiry = $this->_expiry; if(empty($this->_domain)){ setcookie($name,$value,$this->_time + $expiry,'/'); }else{ setcookie($name,$value,$this->_time + $expiry,'/',$this->_domain); } } private function _getip(){ return getip(); } private function _setOptions($options){ foreach ($options as $key=>$value){ if(in_array($key,array('sessionPrex','time','model','expiry','domain'))){ $key = '_'.$key; $this->$key = $value; } } } private function _error($msg){ throw new Phpbean_Exception($msg); }}?>

(注意,該代碼不能直接使用,本文主要是提供一種思路)

標簽: MySQL 數據庫
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
久久国产三级| 国产精品二区不卡| 久久久久国产精品一区二区| 亚洲涩涩在线| 久久久久欧美精品| 免费在线小视频| 日韩精品一二三四| 欧美亚洲一级| 日韩激情网站| 国内不卡的一区二区三区中文字幕| 欧美日韩国产观看视频| 日产精品一区二区| 久久激情中文| 国产精品美女| 国产精品观看| 日产精品一区| 三上悠亚国产精品一区二区三区 | 久久不见久久见免费视频7| 国产精品久久久久久久久久妞妞| 久久精品国产99国产精品| 欧美精品一二| 91p九色成人| 99久久亚洲精品蜜臀| 久久亚洲精品中文字幕蜜潮电影| 综合在线一区| 日韩精品一区二区三区免费观影 | 亚洲欧洲日本mm| 国内一区二区三区| 国产一区福利| 欧美1级日本1级| 亚洲免费毛片| 亚洲国产成人精品女人| 亚洲欧美日韩国产一区二区| 国产v日韩v欧美v| 日本a级不卡| 国产精品欧美在线观看| 国产精品腿扒开做爽爽爽挤奶网站| 亚洲综合精品四区| 国产精品综合色区在线观看| sm久久捆绑调教精品一区| 好吊日精品视频| 91精品丝袜国产高跟在线| 欧美韩日一区| 首页亚洲欧美制服丝腿| 久久国产欧美日韩精品| 日韩不卡一区| 中文不卡在线| 国产精品国产三级国产在线观看| 尹人成人综合网| 久久不见久久见免费视频7| 99精品电影| 国产亚洲第一伦理第一区| 国产v综合v| 欧美日本不卡| 午夜精品免费| 麻豆精品久久久| 国产日产精品一区二区三区四区的观看方式| 欧美啪啪一区| 亚洲性视频h| 国产日韩欧美一区在线| 亚洲五月婷婷| 国产黄色一区| 在线一区电影| 粉嫩av一区二区三区四区五区 | 蜜臀av国产精品久久久久 | 国产高清不卡| 日本电影久久久| 激情六月综合| 麻豆传媒一区二区三区| 另类国产ts人妖高潮视频| 给我免费播放日韩视频| 日韩av中文字幕一区二区三区| 亚洲第一区色| 国内一区二区三区| 午夜久久av | 国产精品综合色区在线观看| 亚洲激情偷拍| 九色porny丨国产首页在线| 国产精品最新| 亚洲三级视频| 亚洲精品午夜av福利久久蜜桃| 激情综合五月| 国产精品一区二区三区www | 午夜精品一区二区三区国产| 久久精品国产久精国产爱| 亚洲综合日韩| 美女毛片一区二区三区四区| 成人在线超碰| 欧美aaaaaa午夜精品| 日韩欧美中文字幕在线视频| 一区免费在线| 久久狠狠婷婷| 亚洲最新无码中文字幕久久 | 日本亚洲欧美天堂免费| 久久国产精品久久久久久电车 | 欧美69视频| 黄色在线网站噜噜噜| 国产麻豆一区二区三区 | 国产精品夜夜夜| 四虎精品永久免费| 视频在线在亚洲| 亚洲精品国产偷自在线观看| 在线一区视频观看| av综合电影网站| 一区二区精品伦理...| 欧美国产中文高清| 久久精品99久久久| 国产日产精品_国产精品毛片| 日韩免费精品| 日本午夜精品久久久| 蜜臀91精品一区二区三区| 亚洲黄色在线| 99成人在线| 欧美中文字幕| 久久成人国产| 亚洲欧美日韩国产一区| 夜夜精品视频| 鲁大师成人一区二区三区| 国产毛片久久| 视频在线观看91| 在线精品观看| 日韩在线观看中文字幕| 日韩三区四区| 国产欧美另类| 国产精品一区高清| 久久精品97| 久久不卡日韩美女| 电影91久久久| 电影天堂国产精品| 99精品在线观看| 激情综合网五月| 久久成人一区| 91亚洲无吗| 国产精品www.| 国产一区二区三区精品在线观看| 福利一区视频| 欧美成人基地| 亚洲精品小说| 亚洲尤物av| 国产毛片精品久久| 久久精品日韩欧美| 精品丝袜在线| 国产精品婷婷| 欧美天堂一区| 给我免费播放日韩视频| 亚洲va中文在线播放免费| 亚洲激情精品| 日本午夜精品| 国产精品原创| 99亚洲精品| 欧美日韩一区二区三区在线电影| 精品黄色一级片| 激情综合自拍| 日韩一区二区三区在线看| 久久三级中文| 日韩精品诱惑一区?区三区| 欧美日韩视频一区二区三区| 婷婷成人av| 精品久久久久久久| 国产综合亚洲精品一区二| 亚洲三级国产| 国产精品国产三级国产在线观看| japanese国产精品| 奇米色欧美一区二区三区| 亚洲91网站| 亚洲国产欧美日本视频| 欧美女激情福利| 亚洲精品极品| 精品久久美女| 日韩一区二区久久| 日产欧产美韩系列久久99| 美女久久久久久| 亚洲国产一区二区三区在线播放| 亚洲专区视频| 精品美女视频 | 午夜在线一区| 国产精品久久久久9999高清| аⅴ资源天堂资源库在线| 日韩午夜黄色| 麻豆中文一区二区| 亚洲深夜av| 美女视频黄久久| 日韩在线第七页| 一区二区三区四区日韩| 麻豆91精品视频| 麻豆精品91| 国模精品一区| 午夜在线视频一区二区区别| 欧美1区二区| 日韩午夜在线| 国产精品99一区二区三| 亚洲最大av| av中文字幕在线观看第一页| 蜜桃视频在线观看一区| av最新在线| 国产欧美高清| 视频一区视频二区在线观看| 快播电影网址老女人久久| 欧美在线看片| 91精品观看|