1、設定多級目錄存盤SESSION
默認session的存盤目錄是1級目錄,如果用戶量比較大,session檔案數量就比較大,我們可以設定目錄數為2,使用2級目錄可以提交查找和存取速度,不過這種方式對速度的提升一般不是很明顯,可以通過修改php.ini,進而修改session存盤目錄數,
|
1 |
|
2、將SESSION存盤到redis中
php中的session默認是存盤在檔案中的,支持redis存盤方式,因為redis的鍵值資料時存盤在記憶體中的,可以提高session的存取速度,
|
1 2 |
|
3、及時釋放SESSION檔案鎖
我們在使用session時,需要先執行session_start()函式,
session_start()函式的作用如下:
判斷http請求是否包含名為PHPSESSID的cookie,如果沒有則創建該cookie并寫入到http回應的頭檔案,
通過PHPSESSID查找對應的session檔案,以讀寫方式打開的檔案,然后讀取里面的資料到記憶體,
然后我們一般會通過$_SESSION這個超全域變數,讀取或者設定session的值,我們操作的時候,session的值都是保存在記憶體中的,默認在頁面執行完畢之后,才會寫入到對應的檔案中,
我們通過下面的一段代碼測驗這個程序:
SESSION執行程序分析:
|
1 2 3 4 5 6 7 |
|
輸出結果:
|
1 2 3 4 5 6 7 8 |
|
通過上面的例子可以發現,在頁面執行的程序中(頁面的執行程序是指將php檔案決議為對應的html檔案的耗時,而不是用戶在該頁面上的停留時間),session檔案是被鎖定的,
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/116805.html
標籤:PHP
