一尘不染

使用以Redis为后端的Spring会话时,默认会话超时是什么以及如何配置它

redis

我的应用程序当前将Spring Session与Redis一起用作后端。

我搜索了Spring Session 的官方文档,但使用该模块时找不到默认的会话超时。

另外,我不确定如果需要如何更改默认超时。

有人可以请教吗?


阅读 632

收藏
2020-06-20

共1个答案

一尘不染

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

@EnableRedisHttpSession(maxInactiveIntervalInSeconds = 60)

当存储库中不再有会话时,该会话将 过期
。可以同时setDefaultMaxInactiveInterval(int)RedisOperationsSessionRepository和上配置超时MapSessionRepository。默认值为
30分钟

如果您使用的是Spring Boot,server.session.timeout则从1.3版开始,它将自动将值与应用程序配置中的属性同步。

请注意,使用spring session的缺点之一是javax.servlet.http.HttpSessionListeners不被调用。

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

2020-06-20