ElastiCache

은채의 성장통·2025년 2월 9일
0

AWS

목록 보기
40/79

✔️ 캐시(Cache)

캐시는 자주 사용하는 데이터를 빠르게 접근할 수 있도록 메모리에 저장하는 기술이다. 데이터베이스에서 직접 조회하는 대신 캐시에서 데이터를 가져오면 응답 속도가 개선되고 데이터베이스 부하가 줄

✔️ 캐시 동작

  1. 캐시 히트(Cache Hit): 요청한 데이터가 캐시에
  2. 캐시 미스(Cache Miss): 요청한 데이터

✔️ 장점

  • 쿼리 결과 저장: 데이터베이스에 대한 반복적인 조회 요청을 방지
  • 사용자 세션 관리: 로그인 정보를 캐시에 저장하여 지속적인 인증 제공
  • API 응답 캐싱: 외부 API 호출 결과를 저장하여 성능 개선

2. AWS ElasticCache

AWS의 ElasticCache는 완전 관리형 캐시 서비스로 RedisMemcached를 지원하며, 높은 성능과 확장성을 제공한다.

✔️ ElasticCache 특징

  • 멀티 AZ 지원 (Redis): 장애 조치(failover)를 통해 고가용성 제공
  • 읽기 복제본(Read Replica) 지원: 읽기 성능을 확장할 수 있음
  • 자동 스케일링: 워크로드 증가에 따른 확장 가능
  • 보안 및 암호화 지원: VPC 내에서 배포 가능하며 데이터 암호화 기능 제공

3. Redis vs. Memcached 비교

비교 항목RedisMemcached
데이터 구조문자열, 리스트, 해시, 셋, 정렬된 셋 등 다양한 자료형 지원단순한 key-value 저장
지속성디스크 기반 저장(RDB, AOF 지원)메모리 기반(데이터 영구 저장 불가)
멀티 스레드 지원단일 스레드(하지만 I/O 멀티플렉싱으로 높은 성능 제공)멀티 스레드
복제 및 클러스터링마스터-슬레이브 복제, 클러스터링 지원기본 제공하지 않음
트랜잭션지원 (MULTI/EXEC)지원하지 않음
메모리 관리LRU 기반 자동 삭제 가능LRU 기반 캐시 삭제
주요 활용 사례세션 관리, 랭킹 시스템, 메시지 큐단순 캐싱, 짧은 TTL이 필요한 데이터 저장

4. 캐시 아키텍처

✔️ 기본 캐시 아키텍처

  1. 클라이언트가 데이터를 요청
  2. 캐시에 데이터가 있으면 바로 반환 (Cache Hit)
  3. 캐시에 데이터가 없으면 데이터베이스에서 조회 후 캐시에 저장 (Cache Miss)

✔️ 고급 캐시 전략

  • Write-through: 데이터를 캐시와 데이터베이스에 동시에 기록
  • Lazy-loading: 필요할 때만 캐시에 데이터를 저장
  • TTL(Time-to-Live) 설정: 특정 시간이 지나면 캐시에서 데이터 삭제
profile
인생 별거 없어

0개의 댓글