Skip to content

Commit

Permalink
feat : 파라미터 이름 변경, 주석 추가
Browse files Browse the repository at this point in the history
- 캐시 레포지토리 파라미터 이름 변경
- 메소드 주석 추가
- 저장, 조회시에 키에 PREFIX 추가
Open #12
  • Loading branch information
seokho-1116 committed Jan 11, 2024
1 parent 70eab51 commit 585b2ef
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 7 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -12,23 +12,39 @@
public class MemberInfoCacheRepository {

private static final int MAXIMUM_REFRESH_TOKEN_EXPIRES_IN_DAY = 30;
private static final String PREFIX = "memberInfo:";

private final RedisTemplate<String, MemberInfo> redisTemplate;

public void save(String key, MemberInfo memberProfile) {
/**
* 키와 {@code memberInfo}를 받아서 캐시에 저장
* @param key 캐시에 저장할 키, UUID string
* @param memberInfo 저장할 사용자 정보
*/
public void save(String key, MemberInfo memberInfo) {
redisTemplate.opsForValue().set(
key,
memberProfile,
PREFIX + key,
memberInfo,
MAXIMUM_REFRESH_TOKEN_EXPIRES_IN_DAY,
TimeUnit.DAYS
);
}

public Optional<MemberInfo> getMemberProfile(String profileKey) {
return Optional.ofNullable(redisTemplate.opsForValue().get(profileKey));
/**
* 사용자 정보 조회
* @param infoKey 캐시에 저장된 키, UUID string
* @return {@code Optional<MemberInfo>} 사용자 정보
*/
public Optional<MemberInfo> getMemberInfo(String infoKey) {
return Optional.ofNullable(redisTemplate.opsForValue().get(PREFIX + infoKey));
}

/**
* 삭제 로직 대신 키의 이름을 변경, O(1) 소요
* @param oldKey 이전 키
* @param newKey 새로운 키
*/
public void rename(String oldKey, String newKey) {
redisTemplate.rename(oldKey, newKey);
redisTemplate.rename(PREFIX + oldKey, PREFIX + newKey);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ public TemporaryTokenResponse createTemporaryToken(Long memberId) {
*/
public TokenResponse reIssueToken(String refreshToken) throws AlreadyReIssuedTokenException {
String oldKey = jwtFactory.getClaimValue(refreshToken, MEMBER_INFO_KEY);
MemberInfo memberInfo = memberInfoCacheRepository.getMemberProfile(oldKey)
MemberInfo memberInfo = memberInfoCacheRepository.getMemberInfo(oldKey)
.orElseThrow(AlreadyReIssuedTokenException::new);

String newKey = String.valueOf(UUID.randomUUID());
Expand Down

0 comments on commit 585b2ef

Please sign in to comment.