Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 오블완
- github
- django
- git
- 티스토리챌린지
- 연습
- ERD
- 개발공부
- flask
- 자료구조
- nginx
- 아티클 스터디
- 쿠키(cookie)
- 파이썬
- CS
- NoSQL
- redis
- viewsets
- 도커
- SQL
- 세션(Session)
- Wil
- Doker
- web
- JWT
- 코딩테스트
- Til
- docker
- Python
- 장고
Archives
- Today
- Total
SteadyDrills
세션스토어로 사용하는 Redis의 장단점 본문
241204
세션스토어로 사용하는 Redis의 장단점
장점
- 확장성
- Redis는 수평 확장이 가능(NoSQL이기 때문)하며 클러스터링을 지원합니다. 따라서 높은 트래픽 환경에서도 안정적으로 세션 데이터를 처리할 수 있다.
- 다양한 데이터 구조 지원
- Redis는 String, Hash, List 등 다양한 데이터 구조를 지원한다. 이를 통해 세션 데이터를 유연하게 저장하고 관리할 수 있다.
- TTL(Time-To-Live) 지원
- Redis는 세션 데이터의 만료 시간을 쉽게 설정할 수 있는 TTL 기능을 제공한다. 때문에 만료된 세션 데이터를 자동으로 제거하여 메모리 관리를 효율적으로 할 수 있다.
- 다양한 언어와 프레임워크 지원
- Redis는 다양한 언어 및 프레임워크에서 사용할 수 있는 라이브러리와 클라이언트를 제공한다. Node.js, Python, Java, PHP 등에서 쉽게 통합할 수 있다.
- Persistence 옵션
- Redis는 데이터 영속성을 위해 RDB 스냅샷 및 AOF(Append-Only File) 기능을 제공한다. 이는 세션 데이터를 영구적으로 유지해야 하는 경우 유용하다.
단점
- 메모리 사용량
- Redis는 인메모리 기반이므로 저장된 데이터의 크기가 메모리에 직접 영향을 미친다. 세션 데이터가 많아질수록 메모리 비용이 증가할 수 있다.
- 데이터 유실 가능성
- Redis는 기본적으로 인메모리 저장소이기 때문에 영속성을 설정하지 않으면 서버 장애 시 세션 데이터가 유실될 수 있다. 다만 영속성을 활성화하면 디스크 작업이 추가되기 때문에 성능이 다소 저하될 수 있다.
- 복잡성 증가
- Redis를 세션 스토어로 사용하려면 Redis 서버를 별도로 설정하고 관리해야 한다.
- 운영 비용
- 클러스터링 및 고가용성을 유지하려면 Redis의 관리 및 모니터링에 추가적인 비용과 노력이 필요하다. 특히 Redis Enterprise를 사용하는 경우 비용이 더 증가할 수 있다.
- 잠재적 네트워크 병목
- Redis가 별도의 서버에서 동작하는 경우, 애플리케이션과 Redis 간의 네트워크 통신이 병목현상을 유발할 수 있다. 특히 네트워크 지연이 높은 환경에서 문제가 될 수 있다.
'웹개발' 카테고리의 다른 글
WSL(Windows Subsystem for Linux)란? (0) | 2024.12.10 |
---|---|
도커 초기 설정 (0) | 2024.12.05 |
CSRF(Cross-Site Request Forgery) 토큰이란? (0) | 2024.11.22 |
[DJANGO] FBV와 CBV의 차이 (0) | 2024.11.20 |
RESTful 아키텍처 (0) | 2024.11.17 |