[redis] 캐싱 전략

hsnam·2022년 8월 18일
0

redis

목록 보기
1/1
post-thumbnail

Redis

Redis란?

  • Redis는 Remote Dictionary Server의 약자로서 키-값 구조의 비정형 데이터를 저장하고 관리하기 위한 오픈소스 이다.
  • 비관계형 데이터 베이스 이며 모든 데이터를 메모리로 불러와 처리하는 메모리 기반 데이터베이스(In-Memory) 이다.
  • 영속성(Persistence) 보장을 위해 보관과 백업 기능이 있다.

Key-Value 모델

주요 모델

  • String
    - String 자료형은 단순히 Key-Value 형태로 값을 저장한다.
  • Set
    - Set은 집합형 Data Type으로 정렬되지 않고 중복되지 않는 데이터를 저장한다.
  • Sorted Set
    - Set 구조와 다르게 Value값을 score 기준으로 정렬하여 저장한다.
  • List
    - Linked List 형태로 lpush, rpush와 같이 List에 왼쪽 오른쪽에 데이터를 저장 할 수 있으며 Set과 다르게 중복된 데이터를 저장 할 수 있다.
  • Hash
    - Hash구조형태로 field-value 쌍의 hash 형태로 저장한다.

Expire

  • 아무리 서버 메모리가 테라단위로 증설이 가능한다고 하지만 물리적인 하드웨어 비용은 한정적이기에 redis에서는 데이터에 대해서 expire를 설정 할 수 있다.
  • 대부분 key에 Expire를 설정할 것을 권장 한다.

Redis 캐시 전략

Lazy Loading

  • 클라이언트에게서 데이터가 필요로 해줄때 캐싱하는 로딩 전략
  • 클라이언트 요청시 캐시 데이터가 없다면 캐시를 DB로 부터 로딩한다.

Write-Through

  • 데이터를 입력하거나 수정할때는 캐시 데이터 및 DB를 모두 함께 반영한다.
  • 데이터를 조회 할때는 캐시 데이터만 조회 한다.

적용

Ref

위키백과
redis

0개의 댓글