본문 바로가기
Spring

[Redis] redis로 token값 저장하기(1)

by meetyou 2022. 11. 30.

스프링부트로 Redis 값을 저장할때

나는 다음과 같은 방식을 사용하여 구현했다.

 

@RedisHash("logoutAccessToken")
public class LogoutAccessToken {
	
    private String id;

    private String username;

    @TimeToLive
    private Long expiration;
    
}

 

public interface LogoutAccessTokenRedisRepository extends CrudRepository<LogoutAccessToken, String> {

}

이렇게 되면 값을 HashMap 방식으로 저장할 수 있는데 저장이 아래와 같이 된다는것이다!!

 

HashMap<String,HashMap<String, String>> 

 

그래서 값이 Set 방식으로 id가 저장되고

HasthMap 방식으로 logoutAccessToken : id

이런식으로 저장이 된다

 

127.0.0.1:****> keys *
1) "logoutAccessToken:eyJhbGciOiJIUzI1NiJ9.eyJ1c2VybmFtZSI6IjdkYmFiZjE0LTNhOTMtNDE4OS05MDE5LWMwOGUzNjM1YTAwNSIsImlhdCI6MTY2OTgxMzEzNiwiZXhwIjoxNjY5ODEzMTk2fQ.kfZzx2axdmSSQbEB5mjMghX4d3IlH8MeCROL3_dHDMI"
2) "logoutAccessToken"

 

여기서 Set 값은 시간이 만료되도 알아서 지워지지 않는다는 단점이 있다.(시간을 설정할수가 없다)

따로 id 값으로 삭제를 해줘야 지워진다.

 

그래서 레디스를 다른 방식으로 구현을 해볼까 한다 

to be continue...