1. 首先创建一个 springboot 的 web 项目, 然后引入以下依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.session</groupId>
<artifactId>spring-session-data-redis</artifactId>
</dependency>
2. 其次在 application.properties 中配置 redis
spring.session.store-type=redis
spring.redis.host=localhost
spring.redis.password=
spring.redis.port=6379
spring.redis.database=0
3. 在SpringBoot项目启动类上添加注解 @EnableRedisHttpSession
@EnableRedisHttpSession 注解有几个可配置的参数
maxInactiveIntervalInSeconds : session 失效时间 默认是1800秒
redisNamespace : redis中的key的命名空间, 默认是 spring:session
flushMode : session 更新redis的模式, 默认是 FlushMode.ON_SAVE , 指的是在response commit 的时候刷入redis, 还可以选择 FlushMode.IMMEDIATE
saveMode : session 存入redis的模式, 默认是ON_SET_ATTRIBUTE, 还可以选择ON_GET_ATTRIBUTE, ALWAYS
cleanupCron : 清理 session 的cron表达式, 默认是 0 * * * * * , 每分钟清理一次
4. 然后就可以运行项目, 进行测试了
@Controller
public class DemoController {
@RequestMapping("/test")
@ResponseBody
public String test(HttpServletRequest request) {
HttpSession session = request.getSession();
session.setAttribute("test", "test");
return "String";
}
}
访问之后, 就可以在 redis 中查看是否有 session 了