본문 바로가기
Skill Stacks/Java_Spring

스프링 캐시

by JayAlex07 2023. 9. 5.

스프링 캐시

 

캐시

 

임시로 데이터를 저장하는 공간이다

  • 인메모리가 될 수 있고, 서버에 캐시를 만들 수 있다

 

빠른 처리 속도로 성능을 향상할 수 있다

  • 이미 조회한 데이터를 임시로 저장하고, 다음에 같은 데이터에 접근할 때, 더 빠르게 데이터를 조회할 수 있도록 한다
  • 예) 어제 배웠던 내용을, 저번 주에 배웠던 내용보다 더 빠르게 기억할 수 있다

 

캐시를 정할 때, 얼마나 요청이 많이 들어오는지 확인해보는 방법도 있다

  • 유저가 요청을 할 때마다, 데이터를 생성해야 하나?
  • 미리 데이터를 생성해 놓고, 유저들이 그 데이터를 조회하는게 더 빠르다

 

캐시를 삭제해야 하는 이유

  • 업데이트가 될 시에, 캐시의 데이터도 없어야 한다
  • 캐시는 무한정 메모리가 아니다 (한번씩 비워줘야 한다)

캐시에는 TTL이 있다

  • Time To Live - 유효 기간 (유효 기간을 지나면, 없어지게 만들 수 있다)

 

 

Redis

 

캐시 서버를 구축할 때, 가장 많이 사용하는 스토어가 redis다

  • Key-value 인 메모리 데이터 스토어다
    • 서버가 종료되면, 데이터가 날라간다
    • 관계형 DB보다 더 빠르다
  • 다양한 형태의 데이터 타입을 지원한다
  • 정말 중요한 데이터는 Redis를 사용하면 안 된다

 

 

윈도우 Redis 설치하기

  • powershell

 

WSL을 실행하고, Ubuntu를 설치

wsl --install

 

제어판 / 프로그램 / Windows기능 켜기, 끄기 / Linux용 Windows 하위 시스템 활성화

 

shell에서 Ubuntu에 접속하고 Redis 다운 받기

  • ubuntu 를 shell에 써서 Ubuntu에 접속한다
curl -fsSL https://packages.redis.io/gpg | sudo gpg --dearmor -o /usr/share/keyrings/redis-archive-keyring.gpg

echo "deb [signed-by=/usr/share/keyrings/redis-archive-keyring.gpg] https://packages.redis.io/deb $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/redis.list

sudo apt-get update
sudo apt-get install redis

 

redis 서버에 접속

sudo service redis-server start

 

연결 확인

redis-cli 
127.0.0.1:6379> ping
PONG

 

Redis 명령어

# key와 값 저장하기
$> set myKey MyValue
$> OK

# key를 검색하여, value를 가져오기
$> get myKey
$> myValue

# key를 삭제하기
$> del myKey
$> myValue

# 모든 키를 알려준다
$> keys*

'Skill Stacks > Java_Spring' 카테고리의 다른 글

[Java] Linux  (0) 2023.09.12
[Java] Docker  (0) 2023.09.11
스프링 스크래핑  (0) 2023.09.04
스프링 API 문서 만들기  (0) 2023.09.03
스프링 Scheduled  (0) 2023.09.02