Session的持久化管理

2021-09-30 16:00:40 字數 832 閱讀 9261

由於httpsession物件都要占用一定的記憶體空間,如果在某一時間段內,訪問站點的使用者很多,web伺服器記憶體中將會因此積累大量的httpsession物件,消耗大量的伺服器記憶體資源,即使使用者已經離開或者關閉了瀏覽器,web伺服器也並不知道,還要保留與之對應的httpsession物件,儘管最後可以通過超時限制來釋放httpsession物件,但是在超時之前,這些httpsession物件仍然占用記憶體資源。

為了提高伺服器記憶體資源的利用率,web伺服器通常將那些暫時不活動但未超時的httpsession物件轉移到檔案系統或資料庫中儲存,一旦伺服器需要使用它們時,再將它們從檔案系統或資料庫中裝載進記憶體,這種技術稱為httpsession的持久化。

注:儲存在httpsession物件中的每個屬性物件必須是可序列化的,即必須是實現了serializable介面的物件。

作用:1. 既可以提高伺服器記憶體資源的利用率,又可以保證那些暫停活動的客戶端在會話超時前繼續原來的會話;

2. 在多台伺服器協同對外提供服務的集群系統中,借助session的持久化技術,某台伺服器可以將其中發生了改變的session物件複製給其他的伺服器,否則,集群系統就必須保證來自同一使用者的請求總是被定向到處理該使用者的第一次訪問請求的伺服器,並且因為其他伺服器距離不存在某個伺服器的session資訊,在某個伺服器停止工作後無法啟動其他伺服器來接替它與客戶端的會話;

3. 在乙個web應用程式關閉後接著重新啟動時,伺服器也會持久化該應用程式記憶體中的所有httpsession物件,即在web應用程式關閉時將所有httpsession物件儲存到檔案系統或資料庫中。如果客戶端在web應用程式重新啟動後要求繼續原來的會話,伺服器再將客戶端對應的httpsession物件從檔案系統或資料庫中裝載進記憶體。

webLogic集群Session持久化配置方式

weblogic共提供了五種session持久化策略 1.記憶體儲存 memory single server,non replicated 2.檔案系統持久化策略 file system persistence 3.jdbc持久化策略 jdbc persistence 4.基於cookie的ses...

為什麼要session 持久化?

為什麼需要持久化 客戶端訪問了某個能開啟會話功能的資源,web伺服器就會建立乙個與該客戶端對應的httpsession物件,每個httpsession物件都要站用一定的記憶體空間。如果在某一時間段內訪問站點的使用者很多,web伺服器記憶體中就會積累大量的httpsession物件,消耗大量的伺服器記...

session為什麼需要持久化

為什麼需要持久化 客戶端訪問了某個能開啟會話功能的資源,web伺服器就會建立乙個與該客戶端對應的httpsession物件,每個httpsession物件都要站用一定的記憶體空間。如果在某一時間段內訪問站點的使用者很多,web伺服器記憶體中就會積累大量的httpsession物件,消耗大量的伺服器記...