Spring
[Redis] redis로 token값 저장하기(1)
meetyou
2022. 11. 30. 21:57
스프링부트로 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...