리프레시 토큰 저장소 Redis 적용
·
개발기록/SweetBalance
이번 프로젝트에서는 인증/인가를 JWT를 통해 진행하였다. 초반 구현 단계에서는 MariaDB 내에 RefreshToken 테이블을 추가하여 리프레시 토큰을 관리하였지만 이후 Redis로 토큰 저장소를 변경하여 적용하였다.기존 RDBMS 토큰 저장소에서의 변경 이유 Redis로 리프레시 토큰 저장소를 변경한 가장 큰 이유는 TTL이었다. 리프레시 토큰의 경우 생성 시 만료 시간을 설정해주는데, RDBMS 사용 시 스케쥴러를 통해 수동으로 DB 내부 리프레시 토큰 값을 삭제시켜주어야 했기에 Redis의 TTL(Time To Live) 기능을 활용하여 Redis 내에서 자동으로 리프레시 토큰을 삭제하도록 해주었다. 추가적으로, Redis는 인메모리 저장 방식을 사용하기에 응답 속도가 RDBMS 보다 10배 ..
NoSQL : MongoDB & Redis
·
개념정리
MongoDBmongo는 humongous를 줄인 표현이다. 즉 '매우 큰 DB'라는 뜻장점1. Schema-less 구조를 사용 >> 다양한 형태의 데이터를 저장 가능 / 데이터 모델의 유연한 변화 가능2. Read / Write 성능이 뛰어남3. JSON 구조의 활용으로 데이터를 직관적으로 이해 가능하다단점1. 많은 인덱스 사용 시, 충분한 메모리 공간 확보가 필요하다2. 데이터 공간 소모가 RDBMS에 비해 많다(비효율적인 Key 중복 입력)3. 복잡한 JOIN 사용 시 성능 제약이 따른다4. 트랜잭션 지원이 RDBMS 대비 미약하다특징1. Memory Mapped(데이터 쓰기 시에 OS의 가상 메모리에 데이터를 넣은 후 비동기로 디스크에 기록하는 방식)를 사용방대한 데이터를 빠르게 처리 가능하다2..