레디스 캐시 스탬피드 현상 (Cache Stampede)
·
Redis
🔸캐시 스탬피드 현상이란?캐시 스탬피드 현상: 하나의 캐시 항목이 만료되었을 때 다수의 요청이 동시에 캐시를 갱신하려고 하면서 발생하는 문제레디스를 캐시로 활용할 때 모든 키에 대해 만료 시간을 설정하는 것은 권장되지만, 대규모 트래픽 환경에서 만료시간을 어떻게 설정하느냐에 따라 캐시 스탬피드와 같은 예상치 못한 문제 상황이 발생할 수 있다. 위의 그림에서, 애플리케이션 1과 2는 look aside 방식으로 레디스를 사용하고 있다고 생각해보자. look aside 방식에서 애플리케이션은 레디스에 먼저 데이터가 있는지 질의한 후 데이터가 없을 때 데이터베이스에서 데이터를 읽어오는 과정을 반복한다. 이때, 레디스에서 특정 키가 만료되는 시점을 생각해보자.1️⃣ 다수의 애플리케이션이 동일한 캐시 키를 요청..
레디스 캐싱 전략, 캐시 만료, maxmemory-policy
·
Redis
🔸캐시로서의 레디스캐시로서의 레디스는 다음과 같은 이점을 지니고 있다.간편한 사용:키-값 형태로 데이터를 저장하고 반환하는 방식이 간단하며, 다양한 자료 구조(list, hash 등)를 변환 과정 없이 바로 저장할 수 있다.빠른 속도: 모든 데이터를 메모리에 저장하기 때문에 데이터 검색과 반환 속도가 매우 빠르다.평균 읽기 및 쓰기 속도가 1ms 미만으로 초당 수백만 건의 작업이 가능하다.고가용성(HA): 클러스터 기능을 통해 장애 발생 시 자동으로 장애를 감지하고 페일오버를 수행하여 운영자의 개입 없이 정상적으로 유지된다유연한 확장성(레디스의 클러스터): 레디스의 클러스터를 활용하면 캐시의 스케일 아웃이 쉬워 서비스 규모에 따라 캐시 자체의 규모를 쉽게 확장할 수 있습니다.🚨따라서 레디스는 캐시 저..
Redis란? (레디스가 싱글쓰레드로 동작하는 이유)
·
Redis
🔸Redis란?레디스는 Remote dictionary server의 약자로 오픈소스, 고성능 key-value 인메모리 NoSQL 데이터베이스이다.주로 캐싱, 세션 관리, 메시지 브로커, 실시간 데이터 분석 등의 목적으로 사용된다. 📌 핵심 특징:빠른 성능: 메모리 기반으로 동작하여 매우 빠른 데이터 읽기/쓰기 속도를 제공단순한 키-값(Key-Value) 저장소: 다양한 데이터 구조를 지원싱글 스레드 기반: 이벤트 루프를 이용한 높은 성능 유지지속성(Persistence) 지원: RDB 및 AOF 방식으로 데이터 영구 저장 가능분산 및 클러스터 지원: 여러 노드로 확장 가능🔸Redis의 특징 1️⃣  실시간 응답(빠른 성능) Redis는 RAM(메모리)에서 데이터를 저장하고 조회하기 때문에, 디스..
J_hzlo
'Redis' 카테고리의 글 목록