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)
- 단점 : 명령어 실행이 길어지면 다른 명령에 영향을 준다.
- 장점 : Atomic 보장, race condition 회피
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
반응형
'IT Diary > # Knowledge' 카테고리의 다른 글
[Knowledge] Thread 병렬로 처리하는 방법 (0) | 2023.04.08 |
---|---|
[ Knowledge ] 주소창에 url을 입력하고 결과를 보는 과정 (0) | 2021.09.10 |
[ Knowledge ] Thread Safe란? (0) | 2021.09.09 |
빅오 표기법 (0) | 2021.08.29 |
[ Knowledge ] 디지털트랜스포메이션의 정의 (0) | 2021.06.14 |