본문으로 바로가기

Redis 란

category 개발지식 2022. 6. 11. 09:23
반응형

1. Redis ?

  - Key, Value 구조의 비정형 데이터를 저장하고 관리하기 위한 오픈 소스 기반

    비관계형 데이터베이스 관리시스템(DBMS)

  - 데이터베이스, 캐시, 메세지 브로커로 사용되며 인메모리 데이터 구조를 가진 저장소

 

 

2. Redis 사용이유 ?

  - 데이터베이스는 데이터를 물리 디스크에 직접 쓰기에 서버문제가 발생했을 떄 

    데이터 손실이 없음 하지만 매번 디스크에 접근해야 하기 떄문에 사용자가 많아지면 

    그만큼 부하량이 증가하여 속도가 많이 느려질 수 있음

  - 이때 캐시서버를 이용하여 사용해야 함(Redis)

  - 캐시는 한번 읽어온 데이터를 임의의 공간에 저장하여 다음에 읽을 때 빠르게 결과값을

    받을 수 있게 도와주는 공간

  - 같은 요청이 여러번 들어오는 경우 데이터 베이스를 거치지 않고 캐시 서버에서 처음 요청 이후

    저장된 결과값을 바로 내려 주기에 데이터베이스 부하를 줄여 데이터 베이스 속도가 느려지는 것을 방지

 

3. Redis 특징

  - Key, Value 구조로 쿼리를 사용할 필요가 없음

  - 데이터를 디스크에 쓰는 구조가 아닌 메모리에서 데이터를 처리하기에 속도가 빠름

  - String, Lists, Sets, Sorted Sets, Hashes 다양한 자료 구조를 지원

    String : 일반적인 key - value 구조

    Sets : String의 집합 여러 개의 값을 하나의 value에 넣을 수 있음 

    Sorted Sets : 중복된 데이터를 담지 않는 Set 구조에 정렬 Sort를 적용한 구조

    Lists : 배열 형식의 데이터 구조 List를 사용하면 처음과 끝에 데이터를 넣고 빼는 건 자요롭지만

               중간 데이터의 변경이 있을 시 어려움

  - 데이터의 스냅샷 혹은 AOF 로그를 통해 복구가 가능하여 영속성 보장

  - 스프링에서는 세션관리 및 캐싱을 하는데 자주 사용 

  - 싱글 쓰레드 기반 (한번에 하나의 명령만 처리가 가능하기 때문에 시간이 오래걸리는 명령은 지양해야함)

      

참고블로그 

https://wildeveloperetrain.tistory.com/21

 

Redis란? 레디스의 기본적인 개념 (인메모리 데이터 구조 저장소)

Redis란? Key, Value 구조의 비정형 데이터를 저장하고 관리하기 위한 오픈 소스 기반의 비관계형 데이터 베이스 관리 시스템 (DBMS)입니다. 데이터베이스, 캐시, 메세지 브로커로 사용되며 인메모리

wildeveloperetrain.tistory.com

 

반응형

'개발지식' 카테고리의 다른 글

세마포어와 뮤택스  (0) 2022.07.01
[AWS]Elastic Load Balancer(로드밸런서) Sticky Sessions  (0) 2022.06.14
RDBMS 와 NoSQL의 차이  (0) 2022.06.10
PHP란 무엇인가 ?  (0) 2022.06.10
WebServer, WAS 의 차이  (0) 2022.06.09