44. Spring 세션 by ys

스프링 부트는 광범위한 데이터 저장소에 대한 스프링 세션 자동 구성을 제공합니다 . Servlet 웹 응용 프로그램을 빌드 할 때 다음 저장소를 자동 구성 할 수 있습니다.

  • JDBC

  • Redis

  • Hazelcast

  • MongoDB

반응 형 웹 응용 프로그램을 만들 때 다음 저장소를 자동 구성 할 수 있습니다.

  • Redis

  • MongoDB

[레디스 특징]

1. 오픈 소스 소프트웨어고,

2. 디스크가 아닌 메모리 기반의 데이터 저장소이다. (In-Memory data structure store)

3. NoSQL & Cache 솔루션이며 메모리 기반으로 구성된다.

4. 명시적으로 삭제, expire를 설정하지 않으면 데이터는 삭제되지 않는다(영구적 보존)

5. 여러대의 서버 구성 가능하다.

6. 데이터베이스로 사용될 수 있으며, Cache로도 사용될 수 있는 기술이다.

7. 성능은 서버에 따라 다르나 초당 2만 ~ 10만회 수행한다.

Memory 위에서 동작하는 Key/value 저장소(Store)인 레디스는 NoSQL DBMS로 분류되며 동시에 Memcached와 같은 인메모리(In-memory) 솔루션으로 분리된다. 출처: https://codingmania.tistory.com/18 [괴발개발 개발새발 하는 개발자의 개발 블로그]

하나의 Spring Session 모듈이 classpath 상에 존재한다면, Spring Boot는 그 저장 구현을 자동으로 사용합니다. 둘 이상의 구현이있는 경우 세션을 저장하는 데 사용할 StoreType구현을 선택해야합니다 . 예를 들어, JDBC를 백엔드 저장소로 사용하려면 다음과 같이 응용 프로그램을 구성 할 수 있습니다.

spring.session.store-type = jdbc

당신은 store-typenone설정하여 String 세션을 해제 할 수 있습니다.

각 store에는 특정 추가 설정이 있습니다. 예를 들어 다음 예제와 같이 JDBC 저장소의 테이블 이름을 사용자 정의 할 수 있습니다.

spring.session.jdbc.table-name = SESSIONS

세션의 시간 제한을 설정하기 위해 이 spring.session.timeout특성을 사용할 수 있습니다 . 이 등록 정보가 설정되어 있지 않으면 erver.servlet.session.timeout의 자동 구성 값으로 돌아갑니다.

Last updated