session存儲在哪
⑴ session中應該存儲哪些信息
默認情況下SESSION保存在伺服器的硬碟中,沒有特別的存儲長度限制,理論上可以存儲任何數據,但並不建議任何數據都保存在SESSION中,原因不說了(考慮一下用戶數及其龐大的情況下,每訪問一個php文件,就要讀取SEESION,特別是SEESION寫入內存的情況下。),當然也可以寫入memcache,甚至單獨的SESSION伺服器。
SESSION通常用來保存與用戶信息相關的: 1. 身份信息、登陸狀態 2. 用戶的個性配置、許可權列表 3. 其他的一些通用數據(比如購物車)
我通常把通用的、頻繁存取的、小數據量的跟用戶相關的數據放入SEESION,視場景而定,我手頭的一個項目,是把模塊的信息(屬性、菜單、結合許可權生成欄目列表)寫入SEESION的。
(望樓主採納哦)
⑵ session放在伺服器(tomcat)上哪個文件哪個地方
一般情況下,session都是存儲在內存里,當伺服器進程被停止或者重啟的時候,內存里的session也會被清空,如果設置了session的持久化特性,伺服器就會把session保存到硬碟上,當伺服器進程重新啟動或這些信息將能夠被再次使用,Server支持的持久性方式包括文件、資料庫、客戶端cookie保存和復制。
⑶ php session 數據保存在哪裡
當然是在伺服器端,但不是保存在內存中,而是保存在文件或資料庫中。
默認情況下,php.ini
中設置的
SESSION
保存方式是
files(session.save_handler
=
files),即使用讀寫文件的方式保存
SESSION
數據,而
SESSION
文件保存的目錄由
session.save_path
指定,文件名以
sess_
為前綴,後跟
SESSION
ID,如:sess_。文件中的數據即是序列化之後的
SESSION
數據了。
如果訪問量大,可能產生的
SESSION
文件會比較多,這時可以設置分級目錄進行
SESSION
文件的保存,效率會提高很多,設置方法
為:session.save_path="N;/save_path",N
為分級的級數,save_path
為開始目錄。
當寫入
SESSION
數據的時候,PHP
會獲取到客戶端的
SESSION_ID,然後根據這個
SESSION
ID
到指定的
SESSION
文件保存目錄中找到相應的
SESSION
文件,不存在則創建之,最後將數據序列化之後寫入文件。讀取
SESSION
數據是也是類似的操作流程,對讀出來的數據需要進行解序列化,生成相應的
SESSION
變數。