Spring boot에 redis 적용

형준·2024년 3월 18일

현재 서버 ci/cd를 beanstalk를 이용하고 있어서 beanstalk가 새로운 인스턴스를 만드는 방식이여서 redis는 다른 서버에 두고 사용했습니다.

  1. EC2에 redis 설치 및 확인
  • 레디스 설치
sudo apt-get update
sudo apt-get install redis-server
  • 한국 시간대로 변경
sudo rm /etc/localtime
sudo ln -s /usr/share/zoneinfo/Asia/Seoul /etc/localtime
  • redis 설정
sudo vim /etc/redis/redis.conf

외부접속 허용
bind 127.0.0.1 ::1 -> bind 0.0.0.0
오래된 데이터부터 삭제 알고리즘으로 변경
maxmemory-policy allkeys-lru
비밀번호 설정
requirepass "설정할 비번"

  • 재시작
sudo service redis-server restart
  • redis 원격 접속
redis-cli -h `{EC2 인스턴스의 IP or DNS}` -p 6379 -a `{redis.conf에 설정한 비밀번호}`
  • redis server 시작
//둘 중 하나
sudo systemctl start redis-server 
sudo service redis-server start

Spring redis 설정

  • redis 관련된 환경변수도 따로 등록하기
@Configuration
@RequiredArgsConstructor
public class RedisConfig {


    @Value("${spring.redis.host}")
    private String host;

    @Value("${spring.redis.port}")
    private int port;

    @Value("${spring.redis.password}")
    private String password;
    @Bean
    public RedisConnectionFactory redisConnectionFactory() {
        RedisStandaloneConfiguration redisConfiguration = new RedisStandaloneConfiguration();
        redisConfiguration.setHostName(host);
        redisConfiguration.setPort(port);
        redisConfiguration.setPassword(password);
        LettuceConnectionFactory lettuceConnectionFactory = new LettuceConnectionFactory(redisConfiguration);
        return lettuceConnectionFactory;
    }
}

로그인에 사용되는 로직은 Redis Repository 방식을 이용해서 구현했습니다.

profile
백엔드 개발자가 되기 위한 경험을 기록하는 블로그입니다.

0개의 댓글