Spring Boot 세션정보 Redis 에 저장

By | 2021년 7월 30일
Table of Contents

Spring Boot 세션정보 Redis 에 저장

목표

세션정보를 Redis 서버에 저장합니다.

의존성 추가

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

파일 추가

RedisConfig.java

@RequiredArgsConstructor
@Configuration
public class RedisConfig {

    private final RedisProperties redisProperties;

    @Bean
    public RedisConnectionFactory redisConnectionFactory() {
        return new LettuceConnectionFactory(redisProperties.getHost(), redisProperties.getPort());
    }

    @Bean
    public RedisTemplate<?, ?> redisTemplate() {
        RedisTemplate<byte[], byte[]> redisTemplate = new RedisTemplate<>();
        redisTemplate.setConnectionFactory(redisConnectionFactory());
        return redisTemplate;
    }
}

application.yml 수정

spring:
  redis:
    cluster:
      nodes: 127.0.0.1:6379
  session:
    store-type: redis

server:
  port: 8080
  servlet:
    session:
      timeout: 43200m      # 60m * 24h * 30d
      cookie:
        max-age: 43200m    # 60m * 24h * 30d
        name: SID
        http-only: true
        # secure: true

답글 남기기