본문 바로가기

Backend/Spring

Spring Boot Session MongoDB 연동, 저장

이미 구현한 Spring Session의 데이터를 MongoDB에 저장하는 방법에 대해서 알아볼거에요.

예제 소스가 필요하신 분은 아래 글을 참고해주세요.

https://gofnrk.tistory.com/42

 

Spring Boot Session 사용하기 (Bean Scope)

Spring Boot에서 세션을 사용하는 방법에 대해서 알아볼게요. Bean Scope를 활용하여 session 데이터를 편리하게 관리할 수 있는 방법을 알려드릴거에요. 굉장히! 간단합니다. 컴포넌트 하나만 추가하면 되요. Use..

gofnrk.tistory.com

build.gradle

dependencies {
	implementation 'org.springframework.boot:spring-boot-starter-data-mongodb'
	implementation 'org.springframework.session:spring-session-data-mongodb'
}

application.yml

collection-name: 세션을 저장할 collection을 지정해주세요. default는 sessions입니다.

 

spring:
  data:
    mongodb:
      host: localhost
      port: 27017
      database: tutorial
  session:
    timeout: 600
    store-type: mongodb
    mongodb:
      collection-name: sessions

 

MongoDB에서 세션 데이터를 확인해볼게요.

 

 

세션 시간(timeout)이 만료되면 데이터베이스 자체에서 완벽히 삭제 처리합니다.

 

 

메인 DB로 MongoDB를 선택한 경우에는 세션 저장 시에 별도로 Redis를 설치하여 쓰지 않고, MongoDB에 저장하여 사용하여 비용을 절감할 수 있습니다.

물론 Redis가 세션관리에 가장 적합하지만, 시스템의 규모와 상황에 알맞게 선택할 수 있는 것이 중요합니다.