다중 서버환경에서 로그인정보와 같은 데이터를 여러 was 공유하려면 세션정보가 필요합니다.
Spring boot
환경에서 session 을 저장하는 방법에대해 알아보겠습니다.

HttpSession 사용할 Redis 활용하여 애플리케이션의 데이터를 저장할 있습니다.

1.
의존성을 추가해야 합니다.

Spring Session 사용하기전에 종속성을 추가해야합니다추가해야 합니다.
pom.xml

        <dependency>
                <groupId>org.springframework.session</groupId>
                <artifactId>spring-session-data-redis</artifactId>
        </dependency>

추가합니다.
spring boot에서는 의존성 버전을 명시하지 않아도 알맞은 버전을 찾아 넣습니다.


2. 스프링 부트 설정을 해야 합니다.
redis
지원하는 spring session 설정합니다.
application.properties

spring.session.store-type = redis
추가합니다.

spring boot
@EnableRedisHttpSession 어노테이션을 수동으로 추가하는 것과 동일한 적용을 합니다. 이것은 springSessionRepositoryFilter 구현하는 이름을 가진 Spring bean 만듭니다. Filter, 필터는 HttpSession Spring Session에서 지원할 구현을 대체하는 역할을 합니다.

application.properties
아래와같이 추가하여 해당 내용을 정의합니다.

server.servlet.session.timeout = # 세션 시간 초과. 기간 접미사가 지정되지 않으면 초가 사용됩니다.
spring.session.redis.flush-mode = on_save # 세션 플러시 모드.
spring.session.redis.namespace = spring : session # 세션 저장에 사용되는 키의 네임 스페이스.

*spring Session이란 서블릿 애플리케이션을 빌드 할떄 springboot spring session 자동구성합니다.

  • Redis
  • MongoDB
  • JDBC

단일 스프링 세션 모듈이 클래스 경로에 존재한다면 스프링 부트는  해당 저장소 구현을 자동으로 사용합니다. 이상의 구현이 있는경우 (StoreType) 세션 저장에 사용할 것을 선택해야합니다선택해야 합니다.
예를 들자면, JDBC 백엔드 저장소로 상요하기위해 서는
spring.session.store-type=jdbc 로
정할 있습니다.

spring.session.jdbc.table-name=SESSIONS 으로 테이블명을 설정할 있습니다.

+ Recent posts