在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/PHP  HTML/ laravel session的過期問題

laravel session的過期問題

在項目中我設(shè)置的session過期時間為30分鐘(1800秒),我是把session存到redis里面的
當(dāng)session還剩1000秒過期的時候我申請了一個接口,這個接口會向session中寫入數(shù)據(jù)。等到接口調(diào)用完以后我發(fā)現(xiàn)session的剩余時間為1798秒,也就是說在我寫入session后,session的過期時間又被重新設(shè)置成了1800秒,不知道小伙伴們有沒有遇到過此問題

回答
編輯回答
孤客

session就是這樣的, session原意是會話, 會話的有效期是指在用戶最后一次請求開始多長時間無操作時就失效.
所以你的session有效期是1800秒, 但是你在1000秒的時候又做了操作, 所以本次會話并沒有過期.

2017年10月11日 12:16
編輯回答
風(fēng)畔

自己回答一下。無論是php的session還是laravel中的session,他們的過期的機(jī)制是一樣的。
以前一直以為如果把session的過期時間設(shè)置為1800s,那么session在經(jīng)歷1800以后就過期了。事實是,一旦我們的代碼里有session_start()(在session.auto_start = 1 的時候自動調(diào)用),session的過期時間就會重新設(shè)置為1800s.也就是說如果我們一直使用session里的數(shù)據(jù),無論讀還是寫,session都不會過期。一旦你不再讀或者寫入session一段時間,并且這段時間大與session的過期時間(我這里是1800s),那么session就過期了.
建議大家使用redis存儲session然后就可以通過ttl來了解session的過期問題。

2018年3月23日 20:37