鍍金池/ 問答/人工智能  Java  數(shù)據(jù)庫  電子商務(wù)  HTML/ cookie 和 session

cookie 和 session

如果將保存session_id的cookie設(shè)置很長的有效期,那么服務(wù)器端的session是否也會保存很長時間?還是說必須要將session保存到緩存或數(shù)據(jù)庫中?

回答
編輯回答
帥到炸

結(jié)論

  1. 需要存儲到緩存/數(shù)據(jù)庫。
  2. 設(shè)置cookie有效期為T1,緩存存儲時長為T2,兩者沒有硬性直接關(guān)聯(lián)。但理論上 T1 必須 <= T2。

問題一:還是說必須要將session保存到緩存或數(shù)據(jù)庫中?

答:建議存儲到緩存中去,避免服務(wù)重啟后會話全部失效。如果緩存服務(wù)不支持持久化,那么還需要落地到本地數(shù)據(jù)庫。

問題二:如果將保存session_id的cookie設(shè)置很長的有效期,那么服務(wù)器端的session是否也會保存很長時間?

答:不會,兩者沒有硬性關(guān)聯(lián)。
答:這里需要關(guān)注cookie的有效期T1、session的有效期T2、session的存儲期T3。正常來說,T1 <= T2 <= T3。
很多時候session失效后,session對應(yīng)的數(shù)據(jù)還是在數(shù)據(jù)庫里待著,只是標識為失效而已。根據(jù)實際情況,可能會有定期清理數(shù)據(jù)庫的動作。

2017年10月15日 16:06
編輯回答
熊出沒

cookie 是客戶端瀏覽器的存儲一小段信息文本,用來記錄客戶當前的信息,狀態(tài),權(quán)限等等 ...
方便請求某些數(shù)據(jù)或者一些方法帶有的一個攜帶權(quán)限支持的一種方法~

設(shè)置cookie某字段有效期

//下面這是設(shè)置session_id  60個月有效期
**Response.Cookies("session_id").Expires=DateAdd("m",60,now())**
2018年1月8日 21:01
編輯回答
入她眼

如果將保存session_id的cookie設(shè)置很長的有效期,那么服務(wù)器端的session是否也會保存很長時間?
答:不會,后臺的session時間一般由session-timeout參數(shù)決定??蛻舳说娜魏握埱蠖寄芗せ顂ession,讓session再續(xù)命session-timeout這么長時間。只要續(xù)命的時間到了(即這段時間內(nèi)沒有同一session的后續(xù)請求過來),session就會開始死亡(session失效)。

2017年7月5日 03:37