Moait
홈인기 피드모든 블로그모든 태그
홈인기 피드모든 블로그모든 태그

Spring Cache(@Cacheable) + Spring Data Redis 사용 시 record 직렬화 오류 원인과 해결

우아한형제들 favicon우아한형제들·Backend·
RedisSpring BootJavaCachingJackson
2025년 08월 19일7

AI 요약

이 글은 AI가 요약했어요. 정확한 내용은 꼭 원문을 확인해 주세요!

핵심 요약

우아한형제들은 Spring Cache + Redis에서 record 직렬화 시 발생하는 역직렬화 실패를 해결하기 위해, 레코드에도 타입 정보를 포함하도록 Jackson 다형성 처리를 커스터마이즈했습니다.

구현 방법

  • RecordSupportingTypeResolver 생성: 레코드 타입일 때도 타입 정보(@class) 추가
  • ObjectMapper에 설정 적용: setDefaultTyping으로 기본 타입 핸들링 확장
  • 실제 캐시 시나리오에서 역직렬화 정상 동작 확인

주요 결과

  • 캐시 저장/조회 시 InvalidTypeIdException 미발생, 안정적 역직렬화 확보
  • Wrapper/추가 어노테이션 없이 레코드 사용 가능
  • 데이터 포맷 변경 시 호환성 관리 필요성은 유지

연관 피드

%가 높을수록 이 글과 비슷할 가능성이 높아요!
No Image
76%

Redis New Connection 증가 이슈 돌아보기

우아한형제들 favicon우아한형제들·2025년 10월 14일
No Image
75%

이제 Redis를 멈춰보겠습니다: @CacheEvict 파헤치기

우아한형제들 favicon우아한형제들·2025년 11월 04일
Spring 로컬 캐시 라이브러리 ehcache 섬네일
70%

Spring 로컬 캐시 라이브러리 ehcache

핀다 favicon핀다·2020년 06월 22일