Redis

·2025년 6월 11일

Redis란?

Redis는 데이터 처리 속도가 엄청 빠른 NoSQL 데이터베이스이다.

Redis의 장점

레디스는 인메모리에 모든 데이터를 저장한다.
그래서 데이터의 처리 성능이 굉장히 빠르다

Redis의 주요 사용 사례

  • 캐싱
  • 세션 관리
  • 실시간 분석 및 통계
  • 메시지 큐
  • 지리공감 인덱싱
  • 속도 제한
  • 실시간 채팅 및 메시징

Redis 기능

만료 시간 기능이 있음 - TTL(Time To Leave)

캐시(Cache), 캐싱(Caching)이란?

캐시(Cache)란 원본 저장소보다 빠르게 가져올 수 있는 임시 데이터 저장소
캐싱(Caching)이란 캐시(Cache, 임시 데이터 저장소)에 접근해서 데이터를 빠르게 가져오는 방식

Cache Aside (=Look Aside, Lazy Loading)

  1. 캐시에 데이터가 있을 경우 (=Cache hit)
    1) 레디스에게 데이터 요청 -> 있음
    2) 레디스에서 데이터 응답

  2. 캐시에 데이터가 없을 경우 (=Cache Miss)
    1) 레디스에게 데이터 요청 -> 없음
    2) 데이터베이스에게 데이터 요청
    3) 데이터베이스애서 데이터 응답
    4) 캐시에 데이터 저장

Cache Aside 전략은 캐시(Cache)에서 데이터를 확인하고, 없다면 DB를 통해 조회해오는 방식이다.

Write Around 전략

Write Around 전략은 쓰기 잡업(저장,수정,삭제)을 캐시에는 반영하지 않고, DB에만 반영하는 방식

한계점

  1. 캐시된 데이터와 DB 데이터가 일치하지 않을 수 있다.
    -> 캐시를 적용시키기에 적절한 데이터
  • 자주 조회되는 데이터
  • 잘 변하지 않는 데이터
  • 실시간으로 정확하게 일치하지 않아도 되는 데이터

-> TTL로 해결

  1. 캐시에 저장할 수 있는 공간이 비교적 작다.
    TTL 기능을 활용하면 캐시의 공간을 효율적으로 쓸 수 있다.

캐싱으로 조회 성능 개선을 하기 전에 고려해야할 것

✅ 데이터 조회 성능을 개선하는 방법

  • SQL 튜닝
  • 캐싱 서버 활용(Redis 등)
  • 레플리케이션 (Master/Slave 구조)
  • 샤딩
  • DB 스케일업(CPU, Memory, SSD 등 하드웨어 업그레이드)

Reference

인프런 비전공자도 이해할 수 있는 Redis 입문실전

profile
DevOps를 기반으로 한 클라우드, 알고리즘, 백엔드 관심있는 컴공생

0개의 댓글