본문으로 바로가기
반응형

Spring Boot에서 Redis Cluster에 접속하는 방법을 정리한다.

Spring Boot 설정

1
2
3
4
5
6
7
spring:
    redis:
        cluster:
            nodes:
                1.1.1.1:1234
                1.1.1.2:1234
                1.1.1.3:1234
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
@Configuration
public class RedisConfiguration {
 
    @Value("${spring.redis.cluster.nodes}")
    private String[] clusterNodes;
 
    /**
     * Jedis Connection Pool
     */
    @Bean
    public JedisPoolConfig jedisPoolConfig() {
        return new JedisPoolConfig();
    }
 
    /**
     * Redis Connection Factory (커넥션풀링 + 클러스터링)
     */
    @Bean
    public RedisConnectionFactory redisConnectionFactory(JedisPoolConfig jedisPoolConfig) {
        RedisClusterConfiguration redisClusterConfigurations = new RedisClusterConfiguration(clusterNodes);
        return new JedisConnectionFactory(redisClusterConfigurations, jedisPoolConfig);
    }
 
    /**
     * 어플리케이션에서 사용할 RedisTemplate 설정
     */
    @Bean
    public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory redisConnectionFactory) {
        RedisTemplate<String, Object> redisTemplate = new RedisTemplate<>();
        redisTemplate.setConnectionFactory(redisConnectionFactory);
        redisTemplate.setDefaultSerializer(new StringRedisSerializer());
        return redisTemplate;
    }
 
    public StringRedisTemplate stringRedisTemplate(RedisConnectionFactory redisConnectionFactory) {
        return new StringRedisTemplate(redisConnectionFactory);
    }
}

이 후 사용은 보통 RedisTemplate 혹은 Repository 사용하듯이 사용하면 된다.

참고 (Redis 클러스터 모드로 접속)

-c 옵션으로 클러스터 모드로 접속

1
redis-cli -c -h 1.2.3.4 -p 1234
반응형

Back-End카테고리의 다른글

Spring Boot에서 Redis 활용  (0) 2020.07.20
Redis 개념과 설치, 활용방안  (0) 2020.07.17
ELK를 활용한 로그 중앙집중 처리  (0) 2019.10.22