首頁  >  文章  >  後端開發  >  PHP提高SESSION響應速度的方法有哪些

PHP提高SESSION響應速度的方法有哪些

王林
王林原創
2019-11-08 11:09:312040瀏覽

 

PHP提高SESSION響應速度的方法有哪些

1、設定多層目錄儲存SESSION

預設session的儲存目錄是1級目錄,如果用戶量比較大,session檔案數量就比較大,我們可以設定目錄數為2,使用2級目錄可以提交查找和存取速度。不過這種方式對速度的提升一般不是很明顯,可以透過修改php.ini,進而修改session儲存目錄數。

session.save_path = "2;/tmp"

2、將SESSION儲存到redis中

#php中的session預設是儲存在檔案中的,支援redis儲存方式,因為redis的鍵值資料時儲存在記憶體中的,可以提高session的存取速度。

session.save_handler = redis
session.save_path = "tcp://127.0.0.1:6379"

3、及時釋放SESSION檔案鎖定

#我們在使用session時,需要先執行session_start()函數。

session_start()函數的功能如下:

判斷http請求是否包含名為PHPSESSID的cookie,如果沒有則建立該cookie並寫入到http回應的頭文件。

透過PHPSESSID找出對應的session文件,以讀寫方式開啟的文件,然後讀取裡面的資料到記憶體。

然後我們通常會透過$_SESSION這個超全域變量,讀取或設定session的值,我們操作的時候,session的值都是保存在記憶體中的,預設在頁面執行完畢之後,才會寫入對應的文件中。

我們透過下面的一段程式碼測試這個過程:

SESSION執行過程分析:

include "session_function.php"; 
//session_function.php代码在附录
session_start();
$_SESSION['name']="koastal";
echo "<br/>html content<br/>";
var_dump($_SESSION);
echo "<br/>";

輸出結果:

open
read
html content
array (size=1)
  &#39;name&#39; => string &#39;koastal&#39; (length=7)
shutdown
write
close

透過上面的範例可以發現,在頁面執行的過程中(頁面的執行過程是指將php檔案解析為對應的html檔案的耗時,而不是使用者在該頁面上的停留時間),session檔案是被鎖定的。

推薦教學:PHP影片教學

php中文網學習專題php session(包含圖文、影片、案例)

以上是PHP提高SESSION響應速度的方法有哪些的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn