SpringSession的使用
SpringSession完成多服务session共享
1、核心原理
2、使用步骤
官网文档地址Spring Session - Spring Boot
在已经集成过redis的每个服务都进行以下操作:
1、导入依赖
<dependency>
<groupId>org.springframework.session</groupId>
<artifactId>spring-session-data-redis</artifactId>
</dependency>
2、配置文件加入session缓存类型
spring.session.store-type=redis # Session store type.
跟据自己的需求按需配置其他可选项:
server.servlet.session.timeout= # Session timeout. If a duration suffix is not specified, seconds is used.
spring.session.redis.flush-mode=on_save # Sessions flush mode.
spring.session.redis.namespace=spring:session # Namespace for keys used to store sessions.
3、在启动类上加入注解@EnableRedisHttpSession
开启spring session
4、此时session就不是在内存中存着了,而是在redis中,多服务可以共享了
5、如果需要修改session的作用域、名称等,需要添加配置类,如下图:
3、补充一个自定义cookie的用法
@RequestMapping(value = "/test", method = RequestMethod.GET)
public HttpResponse test(HttpServletResponse response, @CookieValue("mycookie") String mycookie){
response.addCookie(new Cookie("mycookie","123"));
。。。
}