在Spring Boot中,可以通过配置来实现不同服务实例间的session共享。以下是一个使用Redis作为session存储的配置示例:
- 添加依赖到
pom.xml
:
<dependency>
<groupId>org.springframework.session</groupId>
<artifactId>spring-session-data-redis</artifactId>
</dependency>
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
</dependency>
- 在
application.properties
或application.yml
中配置Redis连接信息:
# application.properties
spring.redis.host=localhost
spring.redis.port=6379
spring.session.store-type=redis
或者使用YAML格式:
# application.yml
spring:
redis:
host: localhost
port: 6379
session:
store-type: redis
- 确保你的Spring Boot应用配置了一个
@EnableRedisHttpSession
注解:
import org.springframework.session.data.redis.config.annotation.web.http.EnableRedisHttpSession;
import org.springframework.context.annotation.Configuration;
@Configuration
@EnableRedisHttpSession
public class SessionConfig {
}
以上配置将启用Redis作为session存储,所有服务实例都将从Redis中读取和写入session数据。这样就实现了session的共享。