Spring에서 Redis를 사용하기 위해서는 IoC Container를 사용해 spring과 redis를 연결해야 함
- Java connector를 사용
- Java connector를 통해 Spring Data Redis API를 통해 일관되게 동작하도록 할 수 있다.
- RedisConnection과 RedisConnectionFactory interface를 통해 이를 제공
RedisConnection and RedisConnectionFactory
- 해당 interface를 통해 redis와 연결 및 통신을 수행
- 그 외에도 Spring DAO Exception를 발생시키기 때문에 에러를 일관적으로 처리할 수 있도록 함
💡 Redis의 native library API가 직접적으로 필요한 경우에는 getNativeConnection을 통해 직접 통신을 할 수도 있다.
- LettuceConnection과 같은 경우는 thread-safe하지 않기 때문에 여러 thread에서 해당 RedisConnection을 공유해서 사용하면 안 된다.
- 만약 성능 상의 이유나 다른 이유 때문에 여러 쓰레드에서 connection을 공유하고 싶다면 redis client library(driver) API를 직접적으로 사용하거나 RedisTemplate을 사용해야 한다.
- 각 Connector마다 지원하는 기능이 다르다.

Lettuce Connector
- Netty based open source connector
- 비동기 기반 고속 처리
@Configuration
class AppConfig {
@Bean
public LettuceConnectionFactory redisConnectionFactory() {
return new LettuceConnectionFactory(new RedisStandaloneConfiguration("server", 6379));
}
}
Jedis Connector
- communitiy-driven connector
@Configuration
class RedisConfiguration {
@Bean
public JedisConnectionFactory redisConnectionFactory() {
RedisStandaloneConfiguration config = new RedisStandaloneConfiguration("server", 6379);
return new JedisConnectionFactory(config);
}
}
'Spring Data Redis(스프링 데이터 레디스)' 카테고리의 다른 글
| Redis Pub/Sub (0) | 2023.12.29 |
|---|---|
| Redis Cache (0) | 2023.12.29 |
| Redis Serializers (1) | 2023.12.29 |
| RedisTemplate (0) | 2023.12.29 |
| Redis Connection Modes (0) | 2023.12.29 |