會話的默認存儲目錄是1級目錄。如果用戶數量比較大,那麽會話文件的數量也會比較大。我們可以將目錄數量設置為2,使用二級目錄提交搜索和訪問速度。但是這種方式的提速壹般不明顯。您可以通過修改php.ini來修改會話存儲目錄的數量。
session . save _ path = " 2;/tmp"2。將會話存儲在redis中。
php中的Session默認存儲在壹個文件中,支持redis存儲模式,因為redis的鍵值數據存儲在內存中,可以提高session的訪問速度。
session.save_handler = redis
session . save _ path = " TCP://127 . 0 . 0 . 1:6379 " 3。及時解除會話文件鎖定。
當我們使用session時,需要先執行session_start()函數。
session_start()的功能如下:
判斷http請求中是否包含名為PHPSESSID的cookie,如果不包含,則創建cookie並寫入http響應的頭文件中。
通過PHPSESSID找到對應的會話文件,通過讀寫打開文件,然後將其中的數據讀入內存。
然後我們通常通過超全局變量$_session來讀取或設置SESSION的值。我們在操作的時候,session的值是存儲在內存中的,在頁面執行後會默認寫入對應的文件中。
我們用下面的代碼測試這個過程:
會話執行過程分析:
包含“session _ function . PHP”;
//session_function.php代碼在附錄中。
session_start()。
$ _ SESSION[' name ']= " KOA stal ";
回聲" & ltbr/>;html內容& ltbr/>;
var _ dump($ _ SESSION);
回聲" & ltbr/>;輸出結果:
打開
閱讀
html內容
數組(大小=1)
name ' = & gt字符串“koastal”(長度=7)
關機
寫
關閉通過上面的例子,我們可以發現會話文件在頁面執行過程中是被鎖定的(頁面的執行是指將php文件解析成相應html文件的耗時,而不是用戶在頁面上的停留時間)。
推薦教程:PHP視頻教程