스프링 캐시
캐시
임시로 데이터를 저장하는 공간이다
- 인메모리가 될 수 있고, 서버에 캐시를 만들 수 있다
빠른 처리 속도로 성능을 향상할 수 있다
- 이미 조회한 데이터를 임시로 저장하고, 다음에 같은 데이터에 접근할 때, 더 빠르게 데이터를 조회할 수 있도록 한다
- 예) 어제 배웠던 내용을, 저번 주에 배웠던 내용보다 더 빠르게 기억할 수 있다
캐시를 정할 때, 얼마나 요청이 많이 들어오는지 확인해보는 방법도 있다
- 유저가 요청을 할 때마다, 데이터를 생성해야 하나?
- 미리 데이터를 생성해 놓고, 유저들이 그 데이터를 조회하는게 더 빠르다
캐시를 삭제해야 하는 이유
- 업데이트가 될 시에, 캐시의 데이터도 없어야 한다
- 캐시는 무한정 메모리가 아니다 (한번씩 비워줘야 한다)
캐시에는 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 |