티스토리 뷰
로컬에서 잘 작동하던 것이 AWS Redis로 변경하고 아래와 같은 메시지가 발생하였습니다.
Error in execution; nested exception is io.lettuce.core.RedisCommandExecutionException: MOVED 13863 **.**.**.**:6379
지속적으로 발생하는 것이 아니고 정상이었다가 또 재기동하면 발생하고 다시 재기동하면 정상이고 그런 상태이었습니다.
기존 소스
@EnableRedisRepositories
@Configuration
@RequiredArgsConstructor
public class RedisConfiguration {
private final RedisProperties redisProperties;
@Bean
public RedisConnectionFactory redisConnectionFactory() {
RedisStandaloneConfiguration redisStandaloneConfiguration = new RedisStandaloneConfiguration();
redisStandaloneConfiguration.setHostName(redisProperties.getHost());
redisStandaloneConfiguration.setPort(redisProperties.getPort());
LettuceClientConfiguration clientConfiguration = LettuceClientConfiguration.builder()
.clientOptions(ClientOptions.builder()
.socketOptions(SocketOptions.builder()
.connectTimeout(Duration.ofMillis(redisProperties.getTimeout())).build())
.build())
.commandTimeout(Duration.ofSeconds(redisProperties.getTimeout())).build();
return new LettuceConnectionFactory(redisStandaloneConfiguration, clientConfiguration);
}
@Bean
public RedisTemplate<String, Object> redisTemplate() {
RedisTemplate<String, Object> redisTemplate = new RedisTemplate<>();
redisTemplate.setConnectionFactory(redisConnectionFactory());
redisTemplate.setKeySerializer(new StringRedisSerializer());
redisTemplate.setValueSerializer(new GenericJackson2JsonRedisSerializer());
return redisTemplate;
}
}
변경소스
@EnableRedisRepositories
@Configuration
@RequiredArgsConstructor
public class RedisConfiguration {
private final RedisProperties redisProperties;
@Bean
public RedisConnectionFactory redisConnectionFactory() {
RedisClusterConfiguration clusterConfiguration = new RedisClusterConfiguration();
clusterConfiguration.clusterNode(redisProperties.getHost(), redisProperties.getPort());
LettuceClientConfiguration clientConfiguration = LettuceClientConfiguration.builder()
.clientOptions(ClientOptions.builder()
.socketOptions(SocketOptions.builder()
.connectTimeout(Duration.ofMillis(redisProperties.getTimeout())).build())
.build())
.commandTimeout(Duration.ofSeconds(redisProperties.getTimeout())).build();
return new LettuceConnectionFactory(clusterConfiguration, clientConfiguration);
}
@Bean
public RedisTemplate<String, Object> redisTemplate() {
RedisTemplate<String, Object> redisTemplate = new RedisTemplate<>();
redisTemplate.setConnectionFactory(redisConnectionFactory());
redisTemplate.setKeySerializer(new StringRedisSerializer());
redisTemplate.setValueSerializer(new GenericJackson2JsonRedisSerializer());
return redisTemplate;
}
}
RedisStandaloneConfiguration으로 했던 부분을 RedisClusterConfiguration으로 변경하니 정상적으로 작동되었습니다.
'Spring Frameworks' 카테고리의 다른 글
Maven System scope 사용하기 (0) | 2022.08.23 |
---|---|
Spring Application Events 처리 및 활용 (0) | 2021.12.15 |
[spring boot]멀티 모듈 프로젝트 구성하기 - Gradle (0) | 2021.10.14 |
[spring boot]멀티 모듈 프로젝트 구성하기 - Maven (0) | 2021.10.13 |
MySQL 최상의 성능을 위한 설정 (0) | 2021.10.12 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- SHEETJS
- 샘플
- sample
- mapToList
- 스프링
- 메시지
- 그리드
- cache
- 타임리프
- UI
- lombok
- spring
- RESTful
- REST
- restful서비스
- Javascript
- 설정
- Spring Boot
- 예제
- thymeleaf
- example
- listToMap
- mybatis
- 스프링부트
- ag grid
- oracle
- springboot
- AG-GRID
- java
- 엑셀
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함