본문 바로가기

반응형
SMALL

독서/개발자를 위한 레디스

(12)
[개발자를 위한 레디스] 4장 레디스 자료 구조 활용 사례 레디스가 제공하는 다양한 자료 구조를 적절히 활용한다면 애플리케이션에서는 매우 짧은 대기 시간으로 엄청난 양의 작업을 처리할 수 있다. sorted set을 이용한 실시간 리더보드사용자의 증가에 따라 가공해야 할 데이터가 몇 배로 증가한다.데이터가 실시간으로 반영되어야 한다. 여러 가지 수학적 계산이 빠르게 수행되어야 한다. sorted set에서 데이터는 저장될 때부터 정렬되어 들어간다. 데이터 저장 및 조회ZADD 커맨드를 활용해서 데이터(스코어, 플레이어 번호)를 저장한다. ZRANGE를 활용해서 스코어 낮은 순서로 데이터를 조회할 수 있다.ZREVRANGE를 활용해서 상위 스코어 N개 데이터를 조회할 수 있다. ZADD를 활용해서 기존 플레이어의 점수 데이터 업데이트가 가능하다.set 자료구조는 ..
[개발자를 위한 레디스] 3장 레디스 기본 개념 레디스의 자료 구조string최대 512MB의 문자열 데이터를 저장할 수 있다.키와 실제 저장되는 아이템이 일대일로 연결되는 유일한 자료 구조이다. NX 옵션을 사용하면 지정한 키가 없을 때에만 새로운 키를 저장한다. XX 옵션을 사용하면 반대로 키가 이미 있을 때에만 새로운 값으로 덮어 쓰며 새로운 키를 생성하진 않도록 동작한다. 숫자 형태로도 저장할 수 있다.INCR, INCRBY와 같은 커맨드 데이터를 원자적으로 처리한다. (동시성 이슈X)INCR: 저장한 데이터를 1씩 증가시킨다.INCRBY: 입력한 값만큼 데이터를 증가시킨다. MSET, MGET 커맨드를 이용하여 한 번에 여러 키를 조작할 수 있다.위 커맨드를 적절하게 사용해 네트워크 통신 시간을 줄일 수 있다.  list순서를 가지는 문자열의..
[개발자를 위한 레디스] 2장 레디스 시작하기 레디스 설치하기소스 파일을 이용해 레디스 설치하기-- 버전 지정$ wget http://download.redis.io/releases/redis-7.0.8.tar.gz-- 최신 버전 다운로드$ wget http://download.redis.io/redis-stable.tar.gz해당 실습에서는 버전7을 활용한다.  -- gcc 설치$ brew install gcc-- 압축 파일 해제 후 빌드$ tar -zxvf redis-7.0.8.tar.gz$ mv redis-7.0.8 redis$ cd redis$ make실습 환경은 macOS이다. $ make PREFIX=${redis 디렉터리 경로} install기본 디렉터리 내의 bin 디렉터리에 실행 파일을 복사하기 위해 make install  커맨드를..
[개발자를 위한 레디스] 1장 마이크로서비스 아키텍처와 레디스 NoSQL의 등장 배경소프트웨어 아키텍처의 변화와, 이로 인해 현대의 데이터 저장소가 어떤 요구 사항에 직면했는지 알아본다. 모놀리틱 아키텍처전통적인 소프트웨어 개발 모델전체 애플리케이션을 하나의 통합된 패키지로 개발, 배포하는 방식작은 규모의 프로젝트나 애플리케이션에서 용이함 마이크로서비스 아키텍처독립된 각각의 모듈을 조립해 하나의 서비스를 만드는 아키텍처기능별로 작게 나뉘어진 서비스가 독립적으로 동작하는 서비스업데이트, 테스트, 배포, 확장은 각 서비스별로 독립적으로 수행 가능함빠르게 성장하는 프로젝트에 용이함 데이터 저장소 요구 사항의 변화모놀리틱 서비스에서 가장 많이 사용되어 왔던 데이터베이스는 RDBMS최근 비정형 데이터가 증가하는 추세 (시계열 데이터, JSON 데이터 등)NoSQL을 사용하면..

반응형
LIST