목차
정의
Redis 서버와 통신하기 위한 RedisConnection 객체를 생성하는 역할
역할
- RedisConnection 생성:
- RedisConnectionFactory는 실제로 Redis 서버와 통신하는 데 필요한 RedisConnection 객체를 생성함
- 예외 변환:
- Redis 클라이언트 라이브러리에서 발생하는 예외를 Spring의 PersistenceExceptionTranslator계층으로 자동 변환하여 애플리케이션의 일관된 예외 처리를 도움
- 커넥션 설정:
- 애플리케이션에서 사용하는 특정 Redis 커넥터(예: Lettuce)를 설정하고, 이를 통해 RedisConnection 객체를 생성하도록 관리
- DI(Dependency Injection)를 위한 설정:
- RedisConnectionFactory를 사용하여 생성된 RedisConnection 객체를 다른 클래스에서 주입받아 사용할 수 있도록 설정
Redis Config 예시
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.redis.connection.RedisConnectionFactory;
import org.springframework.data.redis.connection.RedisStandaloneConfiguration;
import org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory;
import org.springframework.data.redis.core.StringRedisTemplate;
@Configuration
public class RedisConfig {
@Bean
public RedisConnectionFactory redisConnectionFactory(
@Value("${spring.data.redis.host}") String host,
@Value("${spring.data.redis.port}") int port,
@Value("${spring.data.redis.password:}") String password
) {
RedisStandaloneConfiguration config = new RedisStandaloneConfiguration();
config.setHostName(host);
config.setPort(port);
if (!password.isBlank()) {
config.setPassword(password);
}
return new LettuceConnectionFactory(config);
}
@Bean
public StringRedisTemplate redisTemplate(RedisConnectionFactory redisConnectionFactory) {
return new StringRedisTemplate(redisConnectionFactory);
}
}728x90
'Backend Development > Database' 카테고리의 다른 글
| 트랜잭션 격리 (Transaction Isolation) (0) | 2026.04.11 |
|---|---|
| [Redis] Redis ZSet (0) | 2025.11.22 |
| [PostgreSQL] TIMESTAMP와 TIMESTAMPTZ의 차이 (1) | 2025.07.21 |
| 데이터베이스 설계 (0) | 2025.07.17 |