什么是默认会话超时以及如何在使用带Redis的Spring会话作为后端

时间:2015-09-10 12:11:48

标签: redis session-timeout spring-session

我的应用程序目前使用Spring Session和Redis作为后端。

我搜索了official documentation的Spring Session,但是在使用该模块时无法找到默认的会话超时。

此外,我不确定如何在必要时更改默认超时。

有人可以提出建议吗?

2 个答案:

答案 0 :(得分:23)

使用redis存储库时配置会话超时的最简单方法是

@EnableRedisHttpSession(maxInactiveIntervalInSeconds = 60)

会话在存储库中不再可用时到期。 可以在setDefaultMaxInactiveInterval(int)RedisOperationsSessionRepository上使用MapSessionRepository配置超时。默认值为 30分钟

如果您使用的是spring boot,那么从版本1.3开始,它会自动将该值与应用程序配置中的server.session.timeout属性同步。

请注意,使用spring会话时的一个缺点是不会调用javax.servlet.http.HttpSessionListener

如果您需要对会话过期事件做出反应,您可以订阅Spring应用程序的SessionDestroyedEvent应用程序事件。

答案 1 :(得分:1)

get_btc_value().then(data => { $scope.myVar = data; $scope.$apply(); }) 已过时,在Spring Boot 2.0中已被server.session.timeout取代。