1、导入依赖
<!--整合SpringSession完成sessio共享问题-->
<dependency>
<groupId>org.springframework.session</groupId>
<artifactId>spring-session-data-redis</artifactId>
</dependency>
2、编写配置
# springsession保存位置
spring.session.store-type=redis
# session过期时间
server.servlet.session.timeout=30m
3、redis连接的相关配置(略)
4、开启使用springsession的注解
以上都是在认证微服务模块进行的配置,它已经将session保存到redis中了,如果我们想在商品模块使用session中内容,我们也要在商品模块进行相关配置(跟上面一样)
现在我们还没有修改session的作用域,我们通过以下进行模拟:
首先登录,然后在cookie中修改session作用范围变大
然后在商品模块中的html代码中取session中的内容即可
注意,由于我们往redis存的session是对象(至少本项目是这样),因此,这个对象必须实现序列化接口,因为他要序列化到redis中去。如果不想序列化,可以将数据以json格式存储到redis中。
并且,我们往redis存session是一个微服务,他有存储的这个对象的类。当我们在另一个微服务取redis中的session时,他必须也有这个对象的类才行。(因此可以写到common类中)