반응형
Redis

오픈 소스 기반의 인 메모리 데이터 저장소.

키-값 형태의 DB로 주로 메모리 내에서 데이터를 저장하고 액세스 하는 데 사용된다.

 

Redis의 주요 특징

1. 주로 메모리에 데이터를 저장하고 조회하기 때문에 빠른 응답시간을 기대할 수 있다. 

2. 데이터 만료일을 지정할 수 있다.

 

Redis의 특징이 Refresh Token에 적합한 이유

1. RDB와 다르게 Redis는 만료될 날짜를 정해서 토큰을 자동으로 삭제할 수 있다. 토큰의 만료일과 Redis에서 토큰이 삭제되는 날을 일치시키면 데이터를 더 효율적으로 관리할 수 있다.

 

2. Refresh Token을 사용하는 이유는 JWT Access Token을 새롭게 갱신하기 위해 사용한다. Access 토큰은 Refresh 토큰에 비해 유효기간이 훨씬 짧다. 호출의 빈도수가 높은 만큼 RDB에 저장하는 것보다 인메모리 DB에 저장해 두고 사용하는 게 속도 측에서 우위를 점하고 나아가 병목현상을 방지할 수 있다.

 

3. 하지만 Redis는 휘발성 메모리여서 데이터가 날아갈 수 있다. 그러나 토큰이 전부 지워지더라도 모든 유저가 재로그인을 한번씩 하게 되면 정상적으로 이용이 가능하다. 이러한 단점을 고려하더라도 속도차이가 많이 나기 때문에 Redis를 사용하는 게 더 이득이라고 판단된다.

 

4. 확장성 면에서도 뛰어나다. Redis는 클러스터링과 Replication을 지원하여 시스템을 수평적으로 확장 할 수 있다. 특히 분산된 환경에서도 데이터의 일관성을 보장하는 기능을 가지고 있다. RDB와 다르게 Redis를 사용하면 더욱 효과적으로 성능을 유지하며 시스템을 확장할 수 있다.

 

*클러스터링

- 여러대의 서버를 하나의 논리적 그룹으로 묶어 작동하도록 설정. 

 

*레플리케이션

- Redis에서는 마스터-슬레이브 구조로 데이터를 복제한다. 마스터 노드에 발생한 변경사항은 하나 이상의 슬레이브 노드에 복제되어 저장된다. 이를 통해 데이터 손실을 방지하고 가용성을 높일 수 있다.

 

반응형

+ Recent posts