사이드 프로젝트 기술 기록 (9) - Redis로 캐싱 구현

서승·2025년 4월 30일

테스형

목록 보기
6/25

Redis가 뭘까요

메모리를 기반으로 한 DB로서 키값(Key-Value) 구조의 데이터 저장이 가능하며, 빠른 조회 및 쓰기를 지원해 주는 기능을 지니고 있다. 또한 다양한 데이터 구조를 지원하고, 비동기 처리 및 분산처리를 위한 기능을 제공하기 때문에 고성능 시스템에서 널리 쓰이고 있다.

  • 출처 : 나무위키

나의 경우

한 페이지 당 1개의 문항을 보여준다.
선택지를 고를 시, 어떤 유형에 더 영향이 가는지 계산하기 위에 AnswerSession 에 담아 Redis에 넣어두게된다.
다음 문항 화면으로 이동하고 선택하기를 반복, AnswerSession 객체 데이터를 일시적으로 저장해놓기 위해 Redis를 사용하려고 한다.

MAC

터미널을 켜서

brew install redis

설치가 끝나면 서버를 실행

brew services start redis  # 백그라운드 실행

redis-cli ping 을 사용하면 실행 중인지 아닌지 확인이 가능

redis-cli ping

기본적으로 6379 포트를 사용한다.

나는 30분정도의 데이터 유지 시간을 가지게 할 예정이기에
application.yml

spring:
  redis:
    host: localhost
    port: 6379
    timeout: 1800000 # 30분 (밀리초 단위)

Redis 데이터 구조는

  • String (문자열)
  • List (리스트)
  • Hash (해시)
  • Set (집합)
  • Sorted Set (정렬된 집합)
  • HyperLogLog(하이퍼-로그로그)
  • Bitmaps(비트맵) 및 Geospatial(지오스페이셜)
profile
정진 또 정진

0개의 댓글