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

首頁(yè) > 網(wǎng)站 > 建站經(jīng)驗(yàn) > 正文

PHP session文件獨(dú)占鎖引起阻塞-問(wèn)題解決方法

2019-11-02 15:13:55
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

   這篇文章主要介紹了PHP session文件獨(dú)占鎖引起阻塞,本文講解PHP使用默認(rèn)文件會(huì)話(huà)處理器時(shí)容易導(dǎo)致的阻塞問(wèn)題解決方法,需要的朋友可以參考下

  PHP默認(rèn)的會(huì)話(huà)處理器是session.save_handler = files(即文件)。如果同一個(gè)客戶(hù)端同時(shí)并發(fā)發(fā)送多個(gè)請(qǐng)求(如ajax在頁(yè)面同時(shí)發(fā)送多個(gè)請(qǐng)求),且腳本執(zhí)行時(shí)間較長(zhǎng),就會(huì)導(dǎo)致session文件阻塞,影響性能。因?yàn)閷?duì)于每個(gè)請(qǐng)求,PHP執(zhí)行session_start(),就會(huì)取得文件獨(dú)占鎖,只有在該請(qǐng)求處理結(jié)束后,才會(huì)釋放獨(dú)占鎖。這樣,同時(shí)多個(gè)請(qǐng)求就會(huì)引起阻塞。解決方案如下:

  (1)修改會(huì)話(huà)變量后,立即使用session_write_close()來(lái)保存會(huì)話(huà)數(shù)據(jù)并釋放文件鎖。

  ?

1 2 3 4 5 6 session_start();   $_SESSION['test'] = 'test'; session_write_close();   //do something

  (2)利用session_set_save_ha

幸福網(wǎng)名[www.la240.com/html2017/1/22/]
ndler()函數(shù)是實(shí)現(xiàn)自定義會(huì)話(huà)處理。

  ?

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 function open($savePath, $sessionName) { echo 'open is called'; return true; }   function close() { echo 'close is called'; return true; }   function read($sessionId) { echo 'read is called'; return ''; }   function write($sessionId, $data) { echo 'write is called'; return true; }   function destroy($sessionId) { echo 'destroy is called'; return true; }   function gc($lifetime) { echo 'gc is called'; return true; }   session_set_save_handler("open", "close", "read", "write", "destroy", "gc"); register_shutdown_function ( 'session_write_close' );   session_start();   $_SESSION['foo'] = "bar";

  當(dāng)然,在 php 5.4.0之后,你可以通過(guò)實(shí)現(xiàn) SessionHandlerInterface 接口或繼承 SessionHandler 類(lèi)來(lái)使用。

發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 元氏县| 黄浦区| 福州市| 黔东| 桃源县| 长子县| 青神县| 舒兰市| 柘荣县| 都江堰市| 迁西县| 新疆| 浦县| 汝州市| 嘉兴市| 五台县| 麦盖提县| 天水市| 清涧县| 海宁市| 白银市| 石城县| 泽普县| 九龙城区| 玉林市| 曲靖市| 唐河县| 元阳县| 秦皇岛市| 恩施市| 嘉鱼县| 阳新县| 合川市| 扬州市| 阿勒泰市| 乌兰县| 大丰市| 道孚县| 乌鲁木齐县| 新营市| 隆回县|