[에러노트] nested exception is io.lettuce.core.RedisCommandExecutionException: ERR string exceeds maximum allowed size (proto-max-bulk-len)

hyewon jeong·2023년 6월 28일
0

에러노트

목록 보기
29/42

1. 발생

로그인 로그아웃 구현 후 레디스 캐싱 적용을 하고서 다시 로그인을 하였더니 발생한 에러이다 .

2. 코드

 nested exception is io.lettuce.core.RedisCommandExecutionException:
 ERR string exceeds maximum allowed size (proto-max-bulk-len)

3. 원인

이 에러는 Redis 서버에서 문자열이 최대 허용 크기를 초과했을 때 발생하는 에러이다. Redis의 proto-max-bulk-len 설정은 단일 문자열의 최대 크기를 제한하며, 이 값을 초과하는 문자열을 저장하려고 할 때 발생한다고 한다.

4. 해결

redisTemplate.setValueSerializer(new Jackson2JsonRedisSerializer<>(refreshToken.getClass()));

을 추가하여 해결 했다.
이 코드는 Redis에 저장될 값의 직렬화 방식을 설정하는 코드이다.
해당 코드를 사용하여 Jackson2JsonRedisSerializer를 값의 직렬화에 사용할 경우, 값은 JSON 형식으로 직렬화되어 Redis에 저장된다.

이 방법은 값의 직렬화 방식을 변경함으로써 저장되는 데이터의 크기를 줄이는데 도움을 줄 수 있습니다. Jackson2JsonRedisSerializer는 JSON 형식으로 값을 직렬화하므로 일반 텍스트보다 좀 더 압축된 형식으로 데이터를 저장할 수 있다.

profile
개발자꿈나무

0개의 댓글