Backend:: Redis

jahlee·2023년 10월 25일

Backend공부

목록 보기
12/18

Redis란??

Key, Value 구조의 비정형 데이터를 저장하고 관리하기 위한 오픈 소스 기반의 비관계형 데이터 베이스 관리 시스템 (DBMS)이다.

data structures로

  • Strings, set, sorted-set, hashes, list
  • Hyperloglog, bitmap, geospatial index
  • stream
    이 사용가능

Cache란 ??

나중에 요청을 결과로 미리 저장해두었다가 빠르게 서비스 해주는 것을 의미한다.

Look aside Cache

  1. 클라이언트가 데이터를 요청
  2. 웹서버는 데이터가 존재하는지 Cache 서버에 먼저 확인
  3. Cache 서버에 데이터가 있으면 DB에 데이터를 조회하지 않고 Cache 서버에 있는 결과값을 클라이언트에게 바로 반환 (Cache Hit)
  4. Cache 서버에 데이터가 없으면 DB에 데이터를 조회하여 Cache 서버에 저장하고 결과값을 클라이언트에게 반환 (Cache Miss)

Write Back Cache

  1. 웹서버는 모든 데이터를 Cache 서버에 저장
  2. Cache 서버에 특정 시간 동안 데이터가 저장됨
  3. Cache 서버에 있는 데이터를 DB에 저장
  4. DB에 저장된 Cache 서버의 데이터를 삭제

Redis Collectoins

  • Strings
  • List
  • Set
  • Sorted Set
  • Hash

Redis 사용처

  • Remote Data Store
    A서버, B서버, C서버에서 데이터를 공유하고 싶을때
  • redis 자체가 Atomic을 보장해줘서(싱글 스레드)
  • 주로 많이 쓰는 곳들
    • 인증 토큰 등을 저장(strings 또는 hash)
    • ranking 보드로 사용(sorted set)
    • 유저 api limit
    • 좌표 list

간단한 CRUD 구현

https://bcp0109.tistory.com/328

0개의 댓글