1.添加maven依赖
<!--redis 1.3.1.RELEASE--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-redis</artifactId> <version>${redis.version}</version> </dependency> <dependency> <groupId>org.springframework.session</groupId> <artifactId>spring-session-data-redis</artifactId> <version>${redis.version}</version> </dependency>
2.配置application.property文件
##Redis spring.redis.host=192.168.1.12 spring.redis.port=6379 spring.redis.database=2 spring.redis.password= spring.session.store-type=none
3.配置RedisSessionConfig.java
/** * @author tiankonglanlande * @description * @createTime 2018 - 3 - 19 15:19 */ @Configuration @EnableRedisHttpSession public class RedisSessionConfig { }
4.SessionController.java
/** * @author tiankonglanlanlande * @description 测试session共享 * @createTime 2018 - 3 - 19 15:17 */ @RestController @RequestMapping("/session/") public class SessionController { @RequestMapping(value="first",method = RequestMethod.GET) public Map<String,Object> first(HttpServletRequest request){ Map<String,Object> map=new HashMap<>(); String name="小小"; String sessionId=request.getSession().getId(); map.put("name",name); map.put("sessionId",sessionId); request.getSession().setAttribute("map",map); return map; } @RequestMapping(value="second",method = RequestMethod.GET) public Map<String,Object> second(HttpServletRequest request){ Map<String,Object> map= (Map<String, Object>) request.getSession().getAttribute("map"); map.put("sessionId2",request.getRequestedSessionId()); return map; } }
5.启动另个不同端口的相同项目
java -java app.jar --server.port=8080和java -java app.jar --server.port=8081
然后通过浏览器访问8080端口请求first接口,将信息存储到session,
再通过通过浏览器访问8080端口请求second接口获取到数据,可以看到两个不同端口的sessionid是一样的
说明:session共享了
运行效果
参考原文:https://www.cnblogs.com/fengli9998/p/7881331.html