( •̀ ω •́ )✧
[Redis] Redis란? 본문
💡 Redis (Remote Dictionary Server)
→ 오픈 소스 기반의 in-memory 데이터 저장소
💭 Redis 의 특징
- In-Memory 저장소
- 👍 메모리에 데이터를 저장하기 때문에 빠른 읽기 및 쓰기 속도를 제공함
- 👎 메모리 기반의 저장소이기 때문에 저장 가능한 데이터 양에 제한이 있음
- 👎 메모리에 저장되기 때문에 서버 장애 시 데이터가 손실될 수 있음
- 다양한 데이터 구조
- 👍 단순한 Key-Value 구조뿐만 아니라 String, List, Set, Sorted Set, Hash 등 다양한 데이터 구조를 지원
- Pub/Sub 메시징
- 👍 Publish/Subscribe 메시징 시스템을 지원하여 실시간 데이터 푸시 및 메시지 큐 기능을 제공
- 지속성
- 👍 디스크에 데이터를 저장하여 장애 발생 시에도 데이터의 지속성을 보장
- 클러스터링
- 👍 고가용성과 확장성을 위해 클러스터링을 지원
🎟️ Redis & Token 관리
프로젝트의 token 관리에 Redis를 사용하는 것은 효과적인 방법이다.
- 성능
- 토큰은 인증과 권한 부여를 위해 매 요청마다 검증되어야 하므로, 빠른 읽기와 쓰기 속도가 필요
- Redis는 메모리 기반의 데이터 저장소로 데이터를 디스크에 저장하지 않고 메모리에서 직접 읽고 쓰기 때문에 매우 빠른 성능을 제공함
- 확장성
- 분산 환경에서 토큰을 관리해야 할 경우, Redis는 클러스터링과 레플리케이션을 지원하여 확장성과 가용성을 제공함
- 여러 Redis 인스턴스를 설정하여 토큰 데이터를 분산 저장하고 장애 발생 시에도 서비스 중단 없이 운영할 수 있음
- 만료 기능
- Redis는 데이터의 만료 기능을 지원함
- 토큰은 일정 시간이 지나면 만료되어야 하며, Redis의 만료 기능을 활용하면 토큰의 자동 삭제와 관리가 가능
- 이를 통해 토큰의 유효성을 쉽게 관리하고 만료된 토큰을 자동으로 처리할 수 있음
- 추가 기능
- Redis의 Hash 데이터 구조를 사용하여 토큰과 관련된 추가 정보를 저장할 수 있음
- Redis의 트랜잭션 기능을 활용하여 안전한 토큰 처리를 할 수 있음
'✏️ 노트 > spring' 카테고리의 다른 글
[Spring] IoC(Inversion of Control) Container (1) | 2023.11.03 |
---|---|
[Spring] DI(Dependency Injection) (1) | 2023.11.03 |
[JPA] JPA란? (0) | 2023.06.10 |
Comments