欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

PHP中Session可能會(huì)引起并發(fā)問(wèn)題

 更新時(shí)間:2015年06月26日 14:49:22   投稿:hebedich  
Session 中文沒(méi)有一個(gè)統(tǒng)一的譯法,我習(xí)慣上譯為會(huì)話。關(guān)于session的意義大家都應(yīng)該清楚: 其實(shí)是在瀏覽某個(gè)網(wǎng)站時(shí),在瀏覽器沒(méi)有關(guān)閉的情形之下,一個(gè)web應(yīng)用的開(kāi)始和結(jié)束。一個(gè)session可以包括數(shù)次http的請(qǐng)求和應(yīng)答

在進(jìn)行Web應(yīng)用程序開(kāi)發(fā)的時(shí)候,人們經(jīng)常會(huì)用Session存儲(chǔ)數(shù)據(jù)。但可能有人不知道,在PHP中,Session使用不當(dāng)可能會(huì)引起并發(fā)問(wèn)題。印度醫(yī)療行業(yè)軟件解決方案提供商Plus91 Technologies高級(jí)工程師Kishan Gor在個(gè)人博客上對(duì)這個(gè)問(wèn)題進(jìn)行了闡釋。

  如果同一個(gè)客戶端并發(fā)發(fā)送多個(gè)請(qǐng)求,而每個(gè)請(qǐng)求都使用了Session,那么PHP Session鎖的存在會(huì)導(dǎo)致服務(wù)器串行響應(yīng)這些請(qǐng)求,而不是并行。這是因?yàn)樵谀J(rèn)情況下,PHP使用文件存儲(chǔ)Session數(shù)據(jù)。對(duì)于每一個(gè)新的Session,PHP會(huì)創(chuàng)建一個(gè)文件,并持續(xù)向其中寫(xiě)入數(shù)據(jù)。所以,每次調(diào)用session_start()方法,就會(huì)打開(kāi)Session文件,并取得文件的獨(dú)占鎖。這樣,如果服務(wù)器腳本正在處理一個(gè)請(qǐng)求,而客戶端又發(fā)送了一個(gè)同樣需要使用Session的請(qǐng)求,那么后一個(gè)請(qǐng)求會(huì)阻塞,直至前一個(gè)請(qǐng)求處理完成釋放了文件上的獨(dú)占鎖。不過(guò),這只限于來(lái)自同一個(gè)客戶端的多個(gè)請(qǐng)求,也就是說(shuō),來(lái)自一個(gè)客戶端的請(qǐng)求并不會(huì)阻塞另一個(gè)客戶端的請(qǐng)求。

   如果腳本很短,這通常沒(méi)有問(wèn)題。但如果腳本運(yùn)行時(shí)間比較長(zhǎng),那就可能會(huì)產(chǎn)生問(wèn)題。在現(xiàn)代Web應(yīng)用程序開(kāi)發(fā)中,有一個(gè)非常常見(jiàn)的情況,就是使用AJAX技術(shù)在同一個(gè)頁(yè)面內(nèi)發(fā)送多個(gè)請(qǐng)求獲取數(shù)據(jù)。如果這些請(qǐng)求都需要使用Session,那么第一個(gè)請(qǐng)求到達(dá)服務(wù)器后會(huì)取得Session鎖,其它請(qǐng)求就必須等待,所有請(qǐng)求將串行處理,即使它們彼此之間并沒(méi)有依賴關(guān)系。這將大大增加頁(yè)面的響應(yīng)時(shí)間。

 有一個(gè)方法可以避免這個(gè)問(wèn)題,就是在使用完Session以后立即調(diào)用session_write_close()方法關(guān)閉Session。這樣Session鎖就會(huì)釋放,即使當(dāng)前腳本還在等在處理。需要注意的是,調(diào)用該方法后,當(dāng)前腳本就不能進(jìn)一步操作Session了。

  需要特別指出的是,本文所陳述的問(wèn)題和觀點(diǎn)只適用于使用session_start()方法的PHP默認(rèn)Session管理模式。比如,有用戶就指出,如果將應(yīng)用程序托管在AWS EC2上,并正確配置DynamoDB,Session鎖定問(wèn)題就不會(huì)出現(xiàn)。

以上就是本文的全部?jī)?nèi)容了,希望大家能喜歡。

相關(guān)文章

  • laravel 框架實(shí)現(xiàn)無(wú)限級(jí)分類的方法示例

    laravel 框架實(shí)現(xiàn)無(wú)限級(jí)分類的方法示例

    這篇文章主要介紹了laravel 框架實(shí)現(xiàn)無(wú)限級(jí)分類的方法,結(jié)合實(shí)例形式分析了Laravel框架基于遞歸遍歷實(shí)現(xiàn)無(wú)限極分類輸出的相關(guān)控制器及視圖操作技巧,需要的朋友可以參考下
    2019-10-10
  • 用PHP+MySQL搭建聊天室功能實(shí)例代碼

    用PHP+MySQL搭建聊天室功能實(shí)例代碼

    MySQL并發(fā)能力強(qiáng)、響應(yīng)速度快,是性能優(yōu)異的數(shù)據(jù)庫(kù)軟件;PHP是功能強(qiáng)大的服務(wù)器端腳本語(yǔ)言。筆者在山西鋁廠網(wǎng)站開(kāi)發(fā)中,采用PHP4.0+MySQL3.23.38建立了多種應(yīng)用。
    2012-08-08
  • php+flash+jQuery多圖片上傳源碼分享

    php+flash+jQuery多圖片上傳源碼分享

    這篇文章主要為大家詳細(xì)介紹了php+flash+jQuery多圖片上傳實(shí)現(xiàn)源碼,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-07-07
  • laravel框架實(shí)現(xiàn)為 Blade 模板引擎添加新文件擴(kuò)展名操作示例

    laravel框架實(shí)現(xiàn)為 Blade 模板引擎添加新文件擴(kuò)展名操作示例

    這篇文章主要介紹了laravel框架實(shí)現(xiàn)為 Blade 模板引擎添加新文件擴(kuò)展名操作,結(jié)合實(shí)例形式詳細(xì)分析了laravel框架Blade 模板引擎添加新文件擴(kuò)展名具體操作步驟與相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2020-01-01
  • thinkphp中html:list標(biāo)簽傳遞多個(gè)參數(shù)實(shí)例

    thinkphp中html:list標(biāo)簽傳遞多個(gè)參數(shù)實(shí)例

    這篇文章主要介紹了thinkphp中html:list標(biāo)簽傳遞多個(gè)參數(shù)的解決方法,在處理參數(shù)傳遞的情況非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2014-10-10
  • PHP Smarty生成EXCEL文檔的代碼

    PHP Smarty生成EXCEL文檔的代碼

    PHP結(jié)合Smarty產(chǎn)生EXCEL文檔 1,首先在EXCEL (office 2003)里生成一個(gè)模板,然后存成 xml表格。 2,修改這個(gè) xml 文件,做成 smarty 的模板。 3,然后,就是 綁定變量,輸出就行了。
    2008-08-08
  • php版微信自動(dòng)登錄并獲取昵稱的方法

    php版微信自動(dòng)登錄并獲取昵稱的方法

    這篇文章主要介紹了php版微信自動(dòng)登錄并獲取昵稱的方法,涉及php針對(duì)微信公眾平臺(tái)接口調(diào)用的相關(guān)操作技巧,需要的朋友可以參考下
    2016-09-09
  • 微信公眾號(hào)支付之坑:調(diào)用支付jsapi缺少參數(shù) timeStamp等錯(cuò)誤解決方法

    微信公眾號(hào)支付之坑:調(diào)用支付jsapi缺少參數(shù) timeStamp等錯(cuò)誤解決方法

    這段時(shí)間一直比較忙,一忙起來(lái)真感覺(jué)自己就只是一臺(tái)掙錢(qián)的機(jī)器了(說(shuō)的好像能掙到多少錢(qián)似的,呵呵);這會(huì)難得有點(diǎn)兒空閑時(shí)間,想把前段時(shí)間開(kāi)發(fā)微信公眾號(hào)支付遇到問(wèn)題及解決方法跟大家分享下,這些“暗坑”能不掉就不掉吧,要不然關(guān)鍵時(shí)刻出問(wèn)題,真是讓人急的焦頭爛額
    2016-01-01
  • 通過(guò)PHP簡(jiǎn)單實(shí)例介紹文件上傳

    通過(guò)PHP簡(jiǎn)單實(shí)例介紹文件上傳

    本文通過(guò)代碼實(shí)例給大家介紹php文件上傳,獲取文件名稱、類型、大小等相關(guān)信息,完成文件的上傳,本文非常具有參考借鑒價(jià)值,特此分享到腳本之家平臺(tái),供大家學(xué)習(xí)
    2015-12-12
  • php 算法之實(shí)現(xiàn)相對(duì)路徑的實(shí)例

    php 算法之實(shí)現(xiàn)相對(duì)路徑的實(shí)例

    這篇文章主要介紹了php 算法之實(shí)現(xiàn)相對(duì)路徑的實(shí)例的相關(guān)資料,希望通過(guò)本文能幫助到大家,讓大家實(shí)現(xiàn)這樣的功能,需要的朋友可以參考下
    2017-10-10

最新評(píng)論