入口文件中開啟了session
session_start();
我在瀏覽器中訪問了第一個(gè)頁面/test/page/a,在這個(gè)頁面中sleep(40);
此時(shí)在瀏覽器開第二個(gè)頁面/test/page/b,這個(gè)頁面正常情況下打開速度很快。但是因?yàn)樵L問/test/page/a頁面,占用了sesison,導(dǎo)致第二個(gè)頁面session_start()非常慢。
請(qǐng)教各位大咖,這個(gè)問題如何優(yōu)化?
怎么樣做到無論訪問的/test/page/a頁面有多慢,訪問test/page/b頁面session_start()也不會(huì)卡頓?
新開個(gè)瀏覽器打開,或者用隱私模式打開
這個(gè)sleep是為了模擬耗時(shí)業(yè)務(wù)。session_start(['read_and_close' => true]);后我還能對(duì)session數(shù)據(jù)進(jìn)行讀寫嗎?
現(xiàn)在只知道從執(zhí)行耗時(shí)長(zhǎng)的頁面的加session_write_close();可以解決
但是還是不夠靈活
seesion有鎖的,你開了有sleep40,沒有釋放鎖,當(dāng)然會(huì)卡住
session_start后如果確定不修改會(huì)話中的數(shù)據(jù),我們可以在會(huì)話文件讀取完畢之后立即關(guān)閉它來避免由于給會(huì)話文件
加鎖導(dǎo)致其他頁面阻塞,就是上面我說的session_start(['read_and_close' => true]);
session_start(['read_and_close' => true]);
等同于
session_start();
session_write_close();