PHP 解決session 死結

來源:互聯網
上載者:User

      今天在開發碰到個棘手的問題 。

     當非同步請求幕後處理一個大資料量操作時  請求其他控制器都沒返回資訊了。。起初以為是Ext 架構設定了ajax同步造成的。

     後來發現時session 死結造成其他控制器在等待session 完成後才能操作。(主要是使用者登入判斷需要更新session)

     當PHP 處理大資料量操作時 不能及時操作完成 這時候又有訪問其他控制器或者

    非同步請求時候會造成session 死結現象

    和同事探討了下 可使用 session_write_close() 解決此問題

Descriptionvoid session_write_close ( void )End the current session and store session data.Session data is usually stored after your script terminated without the need to call session_write_close(), but as session data is locked to prevent concurrent writes only one script may operate on a session at any time. When using framesets together with sessions you will experience the frames loading one by one due to this locking. You can reduce the time needed to load all the frames by ending the session as soon as all changes to session variables are done.

 功能: 結束當前的session 操作 儲存session 資料  

 說的很明白了, 當指令碼請求沒有調用session_write_close(); 時雖然 session  的資料是儲存住了。但是 session Date(也就是session 檔案) 是鎖住狀態

  是為了避免 其他應用此時操作session 造成不必要後果   當使用架構時 不同檔案可能會不停地操作session 為了不造成其他動作對當前session 的死結等待

  可使用此函數...

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.