關於session認識的幾個誤區

2021-09-26 08:31:24 字數 587 閱讀 4951

1.瀏覽器視窗關閉,session就會隨之過期了?

這種觀點在不少web開發人員中非常流利,實際上是不對的。session是有乙個過期時間的,只要是session的過期時間沒到,session就不會過期。以tomcat為例。tomcat的預設的session的過期時間是30分鐘,可以在專案的web.xml裡面重新設定這個值:

20   

2.伺服器停掉了,session也就過期了?

還是那句話,只要是session的過期時間沒到,session就不會過期。

還是以tomcat為例,伺服器關掉的時候,tomcat會把當前還沒失效的session存放到$\work\catalina\localhost\專案名\sessions.ser檔案裡面。當下次tomcat啟動的時候,tomcat會把這個檔案裡面的session重新讀到記憶體。

因此:(1)如果存到session裡面的資料是不可序列化的,tomcat在把session寫到檔案的時候就會出錯。

(2)只要你的session還沒過期,期間tomcat重啟了,是不會影響客戶端的連線的。

總之,一句話:session是否過期只跟「到沒到過期時間」有關,跟瀏覽器視窗和伺服器是否關閉都沒有關係。

Cookie和Session的認識

cookie的資訊儲存在客戶端,session的資訊儲存在服務端。每次訪問 都會產生乙個會話,服務端會生成乙個session id,以這個session id來區別不同的會話。session id會傳送到客戶端,以後每次客戶端都會在請求的header中的cookie中傳送session id。這個s...

flask的session基礎認識

隨機24的字串 permanent session lifetime timedelta days 14 設定過期多少天 defhello world session username zhiliao 操作session就像操作字典一樣 permanent持久化的意思,可以設定過期時間,時間為乙個月...

Redis 認識的幾個誤區

redis的資料全部放在記憶體帶來了高速的效能,但是也帶來一些不合理之處。比如乙個中型 有100萬註冊使用者,如果這些資料要用redis來儲存,記憶體的容量必須能夠容納這100萬使用者。但是業務實際情況是100萬使用者只有5萬活躍使用者,1周來訪問過1次的也只有15萬使用者,因此全部100萬使用者的...