Redis?
Remote Dictionary Server의 약자로
Remote에 위치하고 프로세스로 존재하는 In Memory 기반의 Key - Value 구조 데이터 관리 시스템이다.
key - value의 구조를 가지기 때문에 RDB와 같이 쿼리 연산을 사용할 수는 없지만 데이터의 읽기, 쓰기의 속도가 아주 빠르게 최적화 되어 있다.
따라서, Redis를 NoSQL로 분류하기도 한다.
In Memory로 분류되기 때문에 DB, Cache 등의 다양한 데이터 구조를 지원한다. 또한, 일반 DB같이 ssd에 데이터를 쓰는 구조가 아니고 dram에서 처리하는 구조이기 때문에 속도가 아주 빠르다.
Redis는 다양한 언어 프레임워크에 대해 API를 지원하기 때문에 사용자들이 많다.
Session Clustering
Redis는 Session Clustering을 구현하는 저장소로 사용할 수 있다.
Session Clustering이란, 여러 WAS의 Session이 모두 공유되도록 하는 것이다.
다들 알고 있겠지만 단일 서버 환경에서 인메모리로 세션 저장소가 존재하는 상황은 문제가 없지만 (로컬 세션)
다중 서버를 사용할 때는 문제가 생긴다.
이러한 상황일 때 Session Clustering을 통해 여러 WAS의 Session이 모두 공유되도록 한다.
모든 서버가 Redis Session 저장소를 바라보게 하는 방법이다.
이 방법을 통해 서버가 많아져도 서버의 메모리 부하가 발생하지 않게 할 수 있다.
'Spring' 카테고리의 다른 글
[Spring] AES 암호화 알고리즘 (0) | 2024.10.28 |
---|---|
[Spring] WAR과 JAR (2) | 2024.10.25 |
[Spring Boot] 외장 톰캣 웹 배포하기(apache-tomcat) (0) | 2024.09.25 |
[Spring] web.xml 한글 필터 (0) | 2024.05.20 |
[Spring] File Upload (0) | 2024.05.20 |