Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

spring cache 세팅 및 테스트 #10

Merged
merged 1 commit into from
Mar 30, 2024
Merged

spring cache 세팅 및 테스트 #10

merged 1 commit into from
Mar 30, 2024

Conversation

gyun-ky
Copy link
Contributor

@gyun-ky gyun-ky commented Mar 30, 2024

PR 체크리스트

Merge 전에 아래 체크리스트가 모두 체크되었는지 확인해주세요

  • 마지막 commit전에 빌드하여 코드 스타일 점검하였나요?
  • 최소 1명의 리뷰와 Approve를 받았나요?
  • 모든 Test 코드를 실행하여 PASS했나요?
  • 포스트맨 API 명세를 작성하였나요?

PR 타입

PR의 타입을 체크해주세요

  • 버그 픽스 - 이슈 링크 :
  • 신규 기능 개발
  • 기능 수정
  • 테스트 코드 추가
  • 코드 스타일 업데이트 (formatting, 변수명 수정 등)
  • 리팩토링 (기능 수정은 없고 코드 재사용성을 위한 메서드 분리 등)
  • 설정 파일 수정
  • 기타

코드 변경 이유

변경된 사항

Spring Cache 세팅

  • Social Provider의 공개키 저장을 위한 CacheManger Bean 등록
  • 각 Provider마다, TTL 시간 다르게 설정하기 위해 Enum 사용하여 TTL 개별적으로 세팅 가능 At CacheConfig>Manager
  • 추후 다른 조회가 많이 발생하는 데이터 캐싱시에, CacheConfig에서 다른 Manager 생성

Spring Cache 세팅 관련 테스트

  • 상세 테스트 코드 참조
  • 클래스 단위로 캐싱설정을 위해 @CacheConfig(cacheNames = "APPLE", cacheManager ="socialProviderPublicKeyCacheManager")에 Redis Key Prefix와 CacheConfig에서 생성한 Manager 지정
  • 각 메서드마다 캐싱을 위해 @Cacheable(key = "'publicKey-Mono'") 사용 / key값은 왼쪽과 같이 하면 APPLE::publicKey-Mono 따로 지정하지 않으면 파라미터 값 (APPLE::{파라미터값})이 들어가게됨

테스트 방법

  • 테스트 코드 참고

리뷰어 집중 사항

  • @S-J-Kim 공개키 관련 개발시 Redis의 키값은 {SocialProvider code값}::publicKey로 지정되도록 캐시값 설정 요망

기타 전달 사항

@gyun-ky gyun-ky added Type: Config 프로젝트 설정, 빌드 설정, DB 설정 등의 Configuration 수정 시 Domain: Member User, Member 도메인에 대한 이슈/PR Layer: Infrastructure 인프라스트럭쳐 (DB, 캐시 등의 데이터 영속화) 와 연관된 경우 labels Mar 30, 2024
@gyun-ky gyun-ky requested a review from S-J-Kim March 30, 2024 11:28
@gyun-ky gyun-ky self-assigned this Mar 30, 2024
@gyun-ky gyun-ky merged commit 1f1d448 into develop Mar 30, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Domain: Member User, Member 도메인에 대한 이슈/PR Layer: Infrastructure 인프라스트럭쳐 (DB, 캐시 등의 데이터 영속화) 와 연관된 경우 Type: Config 프로젝트 설정, 빌드 설정, DB 설정 등의 Configuration 수정 시
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant