SpringBoot 配置 session 有效期
自定义 session 有效期:修改 application 配置
- Duration 是在Java8中新增的,主要用来计算日期差值,Duration 是被 final 声明的,并且是线程安全的
- Duration 字符串类似数字有正负之分:默认为正,负以 ‘-’ 开头,紧接着 PT 和时间字母:
- ‘D’ – 天
- ‘H’ – 小时
- ‘M’ – 分钟
- ‘S’ – 秒
server:
servlet:
session:
timeout: PT60M
修改 session 存储方式
SpringBoot 项目默认会把 session 存储在内存里,这样 session 过多时会影响服务性能,甚至会导致内存异常。那么优化方案很直接,就是把 session 存储在别的地方,通常建议可以存于 Redis
pom 文件添加依赖
<!-- session-redis -->
<dependency>
<groupId>org.springframework.session</groupId>
<artifactId>spring-session-data-redis</artifactId>
</dependency>
登录成功后,可以在 Redis 看到 session,且存活时间为 1800 秒