真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

如何在php中使用session鎖防止阻塞請求-創(chuàng)新互聯(lián)

如何在php中使用session鎖防止阻塞請求?針對這個問題,這篇文章詳細介紹了相對應(yīng)的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

站在用戶的角度思考問題,與客戶深入溝通,找到碭山網(wǎng)站設(shè)計與碭山網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗,讓設(shè)計與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:網(wǎng)站設(shè)計、成都做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣、國際域名空間、網(wǎng)頁空間、企業(yè)郵箱。業(yè)務(wù)覆蓋碭山地區(qū)。

問題:

php的session缺省用文件存儲,當(dāng)請求一個需要操作session的php文件(session_start())時,這個文件是會被第一個操作session的進程鎖定,導(dǎo)致其他請求阻塞。其他請求會掛起在session_start()直到session文件解鎖。

解決:

由于鎖定的session文件直到腳本執(zhí)行結(jié)束或者session正常關(guān)閉才會解鎖,為了防止大量的php請求(需要使用$_SESSION數(shù)據(jù))被鎖定,可以在寫完session后馬上關(guān)閉,這樣就釋放了鎖。

關(guān)閉session:

session_write_close();

這個技巧非常管用,尤其對于一個處理時間長的腳本。并且這個函數(shù)只是關(guān)閉了寫session,讀還是可以的。

// 
session_start();
//可以讀寫session
$_SESSION['latestRequestTime'] = time();
//關(guān)閉session
session_write_close();
//讀取session
$twitterId = $_SESSION['twitterId'];

譯注:

在php5.4以后,session_set_save_handler 支持了傳遞SessionHandlerInterface 的方式,第二個參數(shù)就是指定session_write_close() 作為回調(diào)方法的(缺省就是true),將函數(shù)session_write_close() 注冊為register_shutdown_function() 函數(shù)。


用Memcache或者Redis做session的存儲,是能解決“鎖定”的問題,但處理不好會導(dǎo)致連接數(shù)標高(在session操作后如果有耗時操作,連接是不回收的,可以主動在session寫操作完成后做session_write_close() 操作)

關(guān)于如何在php中使用session鎖防止阻塞請求問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識。


新聞標題:如何在php中使用session鎖防止阻塞請求-創(chuàng)新互聯(lián)
本文地址:http://weahome.cn/article/dppche.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部