Spring/SpringBoot

Redis를 사용해서 스프링부트 캐시

SK_MOUSE 2022. 6. 1. 17:04
반응형

https://www.youtube.com/watch?v=4YDVww8fXVA&t=1s 

 

Redis : 오픈 소스 기반의 비관계형 데이터베이스 관리 시스템

Redis

: Remote Dictionary Server의 약자('Key-Value' 구조의 데이터 저장/관리 비관계형 데이터 관리 시스템)

- 인메모리 구조

- Persistence(견고함)

- Programmability

- Clustering

- Extensibility(API 많아서 확장성 용이)

- High Availiability(클러스터링이랑 같이 사용, 여러개의 서버를 사용하다가 하나가 죽었을때 사용가능)

캐시 :

자주 사용하는 데이터를 미리 보관해둠.

비용이 비싸지만 데이터를 빠르게 가져옴

 

캐시를 어디서 사용? 

=> 도중에 변경 될 일이 없는 데이터베이스 조회 값

=> 자주 호출되는 데이터

 

스프링부트에서 캐시

SpringBoot는 JSR-107을 따름(Java Specification Requests, 자바 플랫폼 규격)

 

 

종류 위치 속도 공유
로컬 캐시 로컬(해당 서버)에서만 사용 외부서버와 트랜잭션 비용x, 속도빠름 로컬에서만 사용해서 분산 서버 구조에서 캐시 공유 어렵
글로벌 캐시 여러 서버에서 접근 할 수 있는 서버 구축하여 사용 네트워크를 통해 가져오는 트랜잭션 비용으로 속도 로컬보다 느림 별도의 서버로 운영되기 때문에 서버 간 데이터 공유 용이

 


<Redis 세팅>

 

Redis 설정
도커에다가 redis를 올려놨으면 위처럼~

 

 

두가지 방법이 있다.

1. 레포지토리를 만들어서 사용하는방법.

2. key-String 객체로만 이루어진 것이면 Redis 템플릿 사용하면됨.

1번방법
1번 방법

위처럼 세팅하여 캐시를 사용 할 수 있다.

반응형