티스토리 뷰
로컬에서 잘 작동하던 것이 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
- 엑셀
- restful서비스
- Spring Boot
- listToMap
- 샘플
- springboot
- 그리드
- sample
- lombok
- 메시지
- SHEETJS
- ag grid
- 스프링
- cache
- thymeleaf
- REST
- 예제
- AG-GRID
- 설정
- 스프링부트
- mapToList
- java
- RESTful
- mybatis
- 타임리프
- spring
- Javascript
- example
- oracle
- UI
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함