一、首先我们要引入依赖,修改pom.xml添加:
//引入spring session
<dependency>
<groupId>org.springframework.session</groupId>
<artifactId>spring-session-data-redis</artifactId>
</dependency>
//引入redis
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
二、修改application.properties或者yml文件:
spring.redis.port=6379
spring.redis.host=127.0.0.1
spring.redis.password=密码没可以不填
spring.redis.pool.max-active=100
spring.redis.pool.max-idle=5
spring.redis.pool.max-wait=60000
三、启用redis管理Session
//第一种方式:修改application.properties,添加
spring.session.store-type=redis
//第二种方式:启用注解
@EnableRedisHttpSession
四、进行一些简单的设置(两种配置方式)
1.修改命名空间:@EnableRedisHttpSession(redisNamespace="")
spring.session.redis.namespace=your_namesapce(自己起个名字)
2.修改过期时间:@EnableRedisHttpSession(maxInactiveIntervalInSeconds=2000
) 单位是秒
server.servlet.session.cookie.max-age=1800s
五、分布式程序通过HttpSession获取/设置session,只要是程序配置在同一个redis,都可以共享
经测试SESSIONID的路径默认就是"/",只要域名相同全路径携带
@RequestMapping(“uid”)
String uid(HttpSession session) {
UUID uid = (UUID) session.getAttribute(“uid”);
if (uid == null) {
uid = UUID.randomUUID();
}
session.setAttribute(“uid”, uid);
return session.getId();
}