持久化session
问题由来:
项目中使用redis来存储session,在开发的时候每次session过期之后都需要重新登录,导致经常性的需要重新登录,设置新的token等。
于是思考可不可以持久化session,在开发的时候连接的是本地的redis,这样可以肆无忌怛的删除,增加数据。
在网上搜索了许多的教程,有些说是要重写,配置bean等,尝试了一下,由于本身对于内部的原理就不是特别了解,出了错误也不知道原因,且确实比较麻烦,之后慢慢摸索可以直接使用以下的方法。
方法一:
在启动类上加注解
@EnableRedisHttpSession(maxInactiveIntervalInSeconds = -1)
maxInactiveIntervalInSeconds的作用就是表示最大间隔时间,设置为-1就相当于在redis中永不过期
方法二:
yml配置文件中配置
spring:
session:
timeout: -1
方法二无疑要优于方法一,由于本身就是只是在开发环境下做的操作,使用配置文件在对应的环境下做配置即可,在摸索的时候发现spring.session.redis中有一些参数可以设置,其中的cleanCron可能是根据表达式来清楚对应的session,具体的还没有实验。