본문 바로가기
Project

[stock] 캐시 - 레디스 구현

by sangyunpark 2023. 9. 19.

Cache

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

 

Cache는 왜 사용할까?

성능을 향상하기 위해 사용한다!

빠른 처리 속도

 

한번 읽어온 데이터를 임의의 공간에 저장해서

다음에 같은 값을 읽으려고 할때, 저장해 놓은 데이터를 읽게해준다.

DB의 부하 감소, 빠른 속도

 

Redis

- key-value

- 인메모리 데이터 스토어 (메모리 접근 데이터 관리) : 속도가 빠르다  | DBMS는 disk에 데이터를 저장

- 다양한 형태의 데이터 타입 지원

- 주로 캐시 서버 용도로 많이 지원

 

Redis는 인메모리 기반이지만 영속성을 지원하는 특징이 있다.

다만 완전히 RDB만큼 영속성을 보장해주지는 않는다.

영구적으로 저장되는 데이터를 다루기 보다는 주로 캐시 서버의 용도로 많이 사용된다.

 

(1) Single -> 하나의 서버 인스턴스를 필요

(2) Sentinel -> 여러 서버 인스턴스를 필요

(3) Cluster -> 여러 서버 인스턴스를 필요

 

 

Redis Cluster

클러스터 구성

 

서버 한대만 살아 있더라도 서비스 운영에 문제가 없다.

 

 

Redis가 잘 돌고 있나 확인

port번호 6379로 돌아가고 있다.

 

Redis cli 접근

Redis 명령어

- $> set myKey myValue // key,value 저장

- $> OK // 결과

 

- $> get myKey // 키 조회

- $> myValue // 결과

 

- $> del myKey // 키 조회

- $> myValue // 결과 - 지워지는 value값

 

- $> get myKey // 지워진 키 조회시

- $> (nil) // 결과 - 아무런 결과가 안나온다.

 

- $>keys * // 모든 key 조회

개발, test과정에서는 사용

서비스 운영환경에서는 성능에 지장을 줄 수 있다.

 

사용해보기

 

한 컴퓨터에 여러대의 서버를 띄우는 것도 가능하다.

 

Redis server start - 터미널 창을 닫아도 redis 서버 사용이 가능하다.

 

Redis server stop

 

 

'Project' 카테고리의 다른 글

[stock] 회원관리 - 회원가입  (0) 2023.09.21
[stock] 캐시 구현  (0) 2023.09.20
[stock] 스케줄링  (0) 2023.09.18
[stock] 자동완성  (0) 2023.09.18
[stock] 회사 배당금 조회  (0) 2023.09.15