1. Redis란?

메모리 기반 비 관계형 Key-Value 데이터베이스

레디스(Remote Dictionary Server)는 Key-Value의 비정형 데이터로 구성해 저장/관리하기 위한 오픈소스 비관계형 데이터베이스 관리 시스템입니다. 2015년부터 Redis Labs가 지원하고 있으며, 모든 데이터를 메모리로 불러와서 처리하는 메모리 기반 DBMS입니다. BSD 라이센스를 따르며, DB-Engines.com 월간 랭킹에 따르면 Redis는 가장 인기 있는 Key-Value 저장소입니다 (출처: [Redis] Redis 개념, AWS EC2환경에서 설치하기)

2. JWT 토큰 로그아웃 시 관리 방법

토큰 인증 방식은 세션 인증 방식에 비해 확장에 용이함

단, 세션 방식과 달리 JWT는 서버 쪽에서 로그아웃을 할 수 없음 = 한 번 발급된 JWT 토큰은 무효화시킬 수 없음

→ 방법1) JWT 토큰 주기를 짧게 하거나,

방법2) 로그아웃 기능 구현을 위해 토큰을 DB에 보존하고 매 요청 시마다 로그아웃으로 인해 DB에서 삭제된 토큰이 아닌지 검사

방법3) 사용자의 편의보다 정보를 지키는 것이 더 중요한 웹 애플리케이션은 Refresh Token을 사용하지 않는 곳이 많음(출처: 유어클래스 JWT란?)

3. Redis의 사용법

  1. 직접 서버(EC2 등)에 Redis 설치하고 이용 [self-managed Redis]
  2. AWS 등 클라우드 서비스 제공업체나 회사가 제공하는 Redis 이용 [managed Redis]

(출처: [입 컨설팅] Self Managed Redis 가 좋을까? Managed Redis 가 좋을까?)

✔️ Challenge66 프로젝트를 위한 제안 사항 = EC2에 Redis 설치