IT Diary/# Knowledge

[ Knowledge ] Redis(REmote DIctionary Server) 란?

셜록호움즈 2022. 4. 18. 23:06
728x90
반응형

 

1.  redis 의 정의

  • In-Memory 데이터베이스이며, 다른 제품들과 다르게 다양한 자료구조를 지원한다.
    • String, Set, Sorted Set , Hash ,List 
  • key-value 구조 데이터 관리 시스템
  • 쓰기 성능 증대를 위한 클라이언트 측 샤딩(Sharding ) 지원
  • 영속성을 지원한다. (명령어로 명시적으로 삭제, expires를 설정하지 않으면 데이터가 삭제되지 않는다)
    •  AOF(Append Only File) 과 RDB(snapshot) 방식을 지원한다. 
  • Redis Server는 1개의 Single Thread로 수행된다. ( 딱 하나의 명령어만 실행할 수 있다는 뜻.. )
    • 장점 : Atomic 보장, race condition 회피
      • Atomicity(원자성) :  Transaction 과  관련된 일은 모두 실행되던지 모두 실행되지 않도록 하던지를 보장하는 특성
      • race condition : 두 개 이상의 프로세스가 공통자원을 병행적으로 읽거나 쓰는 동작을 할 때, 공용데이터에 대한접근이
        어떤 순서에 따라 이루어졋는지에 따라 그 실행결과가 같지 않고 달라지는 상황을 말함
        ( Mutal exclusion , deadlock ,Starvation)
    • 단점 : 명령어 실행이 길어지면 다른 명령에 영향을 준다. 

2. redis 를 쓰는 이유는 ?

  • web - was - db 의 전형적인 구조에서는 사용자가 늘어남에 따라 DB에 과부하가 생기게 되고 데이터베이스의 물리적인 한계로 인해 매 transaction 마다 디스크를 접근해야해서 느려질 수 밖에 없다.
  • 이러한 속도에 대한 문제를 해결하기 위해 Cache 를 찾게 됨 , cache 는 한자주 사용하는 데이터나 값을 미리 복사해 놓는 임시 장소를 말한다. 그래서 같은 요청이 여러번 들어와도 캐시서버에서 바로 결과값을 주기 때문에 DB부하를 줄이고 서비스 개선도 이루어질 수 있음
  • cache 서버에 데이터가 있으면 바로 클라이언트로 데이터를 반환 ( cache Hit ) ,
    cache 서버에 데이터가 없으면 DB에 해당 데이터를 요청 함( cache Miss )




 

 

 

 

출처 : https://brunch.co.kr/@jehovah/20

 

Redis 기본 정리

캐시를 알아야 하는 순간! | 캐시를 접하게 되는 순간 서비스를 처음 운영할 때는 WEB-WAS-DB의 전형적인 3티어 구조를 취하는 편이 보통입니다. 사용자가 몇 명 되지 않는 서비스의 경우에는 3티어

brunch.co.kr

출처 : https://sjh836.tistory.com/178

 

Redis 기본 개념 (기초, Collection 타입, Expire, Persistence)

참조문서 https://redis.io/documentation https://github.com/antirez/redis https://redislabs.com/redis-enterprise/data-structures/ 명령어 목록 : https://redis.io/commands 1. redis란? redis는 REmote..

sjh836.tistory.com

 

728x90
반응형