现状:spring boot项目,使用redisson将spring session存入redis中,过期时间为默认的30分钟。
需求:延长session过期时间
一开始我认为只修改yml文件中的server.servlet.session.timeout=60m就行了,但是发现redis中的过期时间还是1800s。
后来想到既然session是redis管理是不是需要修改redis相关的配置,然后查到了@EnableRedissonHttpSession注解,使用这个注解后spring boot中的server.servlet.session.timeout就失效了,默认的1800s也是这个注解来设置的:
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.TYPE)
@Import(RedissonHttpSessionConfiguration.class)
@Configuration
public @interface EnableRedissonHttpSession {
int maxInactiveIntervalInSeconds() default MapSession.DEFAULT_MAX_INACTIVE_INTERVAL_SECONDS;//1800
String keyPrefix() default "";
}
所以可以在注解上配置过期时间来完成我们的需求:@EnableRedissonHttpSession(maxInactiveIntervalInSeconds = 3600) 作者:原来是冠男啊 https://www.bilibili.com/read/cv16801777/ 出处:bilibili