실전 레디스 : 기초, 실전, 고급 단계별로 배우는 레디스 핵심 가이드

실전 레디스 : 기초, 실전, 고급 단계별로 배우는 레디스 핵심 가이드

$45.00
저자

하야시쇼고

저자:하야시쇼고
2017년에AWS에합류한AmazonEMR개발팀의시스템개발엔지니어입니다.5년간AWS에서기술지원을담당했으며,레디스/멤케시디와로드밸런서를비롯한다양한분야에서회사내전문가로활동했습니다.또한회사내개발팀과협력하여문제해결등의업무를수행했습니다.현재는AmazonEMR의릴리스주변컴포넌트개발을담당하고있습니다.

역자:서대원
국내에서금융권회사의자산운용솔루션을개발하며백엔드및SAP개발을담당하였습니다.이후디지털마케팅솔루션프로젝트의프런트엔드개발자로근무하기도하였고,현재는일본회사에입사하여엔지니어로활동하고있습니다.

감수:정경석
1999년말부터웹서비스개발을시작으로인터넷뱅킹,한국은행대량이체시스템,모네타교통칩카드발급시스템,나라사랑카드선불과금시스템,시티은행모바일뱅킹시스템,아프리카TV검색시스템등을개발했다.서버사이드백엔드플랫폼개발자로서하루수천만에서수억건에이르는요청을처리하는다양한대용량서비스를구축및운영해왔다.『이것이레디스다』(한빛미디어,2013)와『자바네트워크소녀네티』(한빛미디어,2015)를집필했으며2024년현재SKC&C에서Applicationarchitect로근무중이다.

목차


[PART01기초]

CHAPTER01레디스의시작
_1.1레디스를사용하기까지
_1.2레디스의특징
__1.2.1레디스의동작이미지
__1.2.2다른데이터베이스와어떻게다른가
__1.2.3의존성이적은레디스
__1.2.4레디스의활용
__1.2.5속도가빠르고기능이많은인메모리데이터저장소
COLUMN레디스의탄생부터현재까지
__1.2.6RDBMS와비교
COLUMNACID특성
__1.2.7멤케시디와비교
_1.3레디스서버설정
__1.3.1우분투에서레디스설치
__1.3.2소스코드로설치
_1.4레디스동작테스트
__1.4.1redis-server실행및redis-cli로접속하기
COLUMNGUI클라이언트
COLUMNredis-cli에연결할수없을때의트러블슈팅
__1.4.2redis-cli동작
__1.4.3원격연결로조작하기
_1.5레디스문서와공식리소스
__1.5.1레디스자료형(레디스문서)
__1.5.2레디스교육
__1.5.3레디스활용

CHAPTER02자료형과기능
_2.1자료형과기능개요
__2.1.1다섯가지자료형
__2.1.2보조자료형과기능
__2.1.3레디스의폭넓은데이터모델표현성
__2.1.4레디스의자료형과명령어
__2.1.5레디스유틸리티명령어
_2.2String형
COLUMN레디스의String형은지금도512MB가최대인가
__2.2.1String형활용:빠른세션캐시
__2.2.2String형주요명령어
__2.2.3String형숫자값
__2.2.4String형명령어
COLUMN그외String형에서사용가능한명령어
COLUMNString형에서폐지예정/폐지가능성이있는명령어
__2.2.5String형실행예시
__2.2.6SET명령어와옵션
_2.3List형
__2.3.1List형활용:인기콘텐츠표시
__2.3.2List형주요명령어
COLUMN그외List형에서사용가능한명령어
COLUMNList형에서폐지예정인명령어
__2.3.3List형실행예시
_2.4Hash형
__2.4.1Hash형활용:객체스토리지
__2.4.2Hash형주요명령어
COLUMN그외Hash형에서사용가능한명령어
COLUMNHash형에서폐지예정인명령어
__2.4.3Hash형실행예시
__2.4.4성능을발휘하기위한주의사항
_2.5Set형
__2.5.1Set형활용:고유사용자수조사
__2.5.2Set형주요명령어
COLUMN그외Set형에서사용가능한명령어
__2.5.3Set형실행예시
_2.6SortedSet형
__2.6.1SortedSet형활용:실시간랭킹
__2.6.2SortedSet형주요명령어
COLUMN그외SortedSet형에서사용가능한명령어
COLUMNSortedSet형에서폐지예정인명령어
__2.6.3SortedSet형실행예시
_2.7대표기능과관련명령어
__2.7.1비트맵(비트배열)
__2.7.2지리적공간인덱스
COLUMNGeohash
COLUMN지리적공간인덱스에서폐지예정인명령어
__2.7.3Pub/Sub기능
__2.7.4HyperLogLog
COLUMN내부인코딩
__2.7.5레디스스트림
COLUMN레디스스트림과유사한자료형및기능비교
__2.7.6자료형관계없이사용가능한명령어
COLUMN시간복잡도
COLUMN그외명령어

CHAPTER03고급기능
_3.1파이프라인
__3.1.1파이프라인실행예시
_3.2루아
__3.2.1이페머럴스크립트
__3.2.2레디스함수
__3.2.3레디스의루아프로그래밍
_3.3트랜잭션
_3.4모듈
__3.4.1모듈로구현할수있는것
__3.4.2모듈을실제로사용하는경우
_3.5키공간알림
_3.6클라이언트측캐싱

CHAPTER04레디스를활용한애플리케이션작성
_4.1다양한언어를지원하는레디스
__4.1.1프로그래밍언어와레디스조합
COLUMNRedisOM라이브러리
COLUMN레디스와TLS기능
_4.2PHP로레디스작업
__4.2.1PhpRedis로작업
__4.2.2세션정보캐시관리
COLUMN샘플애플리케이션의주의점
__4.2.3뉴스게시기능
_4.3루비로레디스작업
__4.3.1redis-rb로작업
__4.3.2투표관리
_4.4파이썬으로레디스작업
__4.4.1aioredis로작업
__4.4.2실시간채팅
COLUMN적절한자료형선택

[PART02실전]

CHAPTER05레디스운용관리
_5.1데이터영속성
__5.1.1스냅숏
COLUMNCRC
__5.1.2AOF
__5.1.3스냅숏과AOF비교
__5.1.4데이터삭제패턴
COLUMNRDB파일형식
_5.2캐시서버로서레디스아키텍처
__5.2.1읽기관점아키텍처
__5.2.2쓰기관점아키텍처
__5.2.3아키텍처안티패턴
__5.2.4데이터저장소로서의레디스아키텍처
_5.3모범사례
__5.3.1TTL설정
__5.3.2제거정책설정
__5.3.3백업
__5.3.4커넥션풀링
__5.3.5재시도처리
__5.3.6기타모범사례
_5.4캐시노드크기조정
__5.4.1크기조정기준
_5.5설정파일redis.conf
_5.6보안
__5.6.1보안설정
__5.6.2ACL기능
_5.7벤치마크
COLUMN레디스와멤케시디벤치마크
_5.8멀티스레드처리
_5.9DEBUG명령어
COLUMN데이터베이스

CHAPTER06트러블슈팅397
_6.1INFO명령어로서버정보읽기
COLUMNRSS
_6.2지연시간조사
__6.2.1슬로우로그
__6.2.2redis-cli옵션
__6.2.3지연시간모니터링
COLUMN소프트웨어워치독
_6.3메모리문제

CHAPTER07레플리케이션
_7.1레플리케이션기능
__7.1.1비동기처리를통한구현
__7.1.2레플리케이션사용할때레디스를연결하는방법
__7.1.3기본적으로읽기전용인레플리카
__7.1.4마이그레이션으로활용하기
__7.1.5레플리케이션주의사항
COLUMN마스터/슬레이브에서마스터/레플리카로
_7.2레플리케이션을시작할때의메커니즘
__7.2.1전체동기화
__7.2.2부분동기화
COLUMN레플리케이션연결이끊겼을때의동작개선
_7.3레플리케이션동작중메커니즘
__7.3.1마스터와레플리카간의연결상태모니터링
_7.4페일오버
COLUMN레플리케이션시이페머럴스크립트
_7.5레플리케이션도입방법
COLUMNSystemd로실행하는경우
COLUMN페일오버동작
COLUMN레디스센티널

CHAPTER08레디스클러스터
_8.1레디스클러스터기능개요
__8.1.1레디스클러스터의장점
__8.1.2레디스클러스터가사용하는두개의TCP포트
__8.1.3동작메커니즘
COLUMN접근노드에편향이발생하는경우
_8.2레디스클러스터장애탐지
__8.2.1장애탐지메커니즘
__8.2.2레플리카선출
_8.3레디스클러스터키워드
__8.3.1슬롯
__8.3.2해시태그
__8.3.3클러스터버스
__8.3.4파티셔닝
_8.4레디스클러스터지원클라이언트
__8.4.1MOVED리다이렉트와ASK리다이렉트
__8.4.2레디스클러스터지원클라이언트동작
__8.4.3레디스클러스터지원클라이언트사용방법
_8.5레디스클러스터관련명령어
_8.6레디스클러스터설치방법
__8.6.1모든마스터혹은모든레플리카에특정작업실행
COLUMN레디스클러스터페일오버동작
COLUMN로그양식

CHAPTER09메모리관리
_9.1메모리관리아키텍처
__9.1.1INFOMemory출력결과해석
__9.1.2클라이언트출력버퍼
_9.2키만료
__9.2.1만료방법
__9.2.2삭제정책
_9.3메모리를효율적으로사용하기위한기타방법
__9.3.1동적리해싱
__9.3.2동적단편화제거
COLUMNzmalloc

CHAPTER10클라우드에서사용하는레디스
_10.1OSS와레디스의차이
__10.1.1고유기능
__10.1.2제한
COLUMNAmazonMemoryDBforRedis
_10.2클라우드에서사용하는방법
__10.2.1엔드포인트
_10.3클라우드를활용한트러블슈팅
__10.3.1최소한으로모니터링을해야하는메트릭
__10.3.2주의해야하는메트릭
__10.3.3유지보수창주의사항
__10.3.4이벤트확인

[PART03고급]

CHAPTER11레디스의구조
_11.1레디스관련기술
__11.1.1RESP
COLUMNRESP형식이아닌쿼리요청처리
__11.1.2SDS
__11.1.3ae
__11.1.4RAX
__11.1.5CoW
__11.1.6Raft
__11.1.7HyperLogLog
_11.2소스코드를통해살펴본레디스
__11.2.1여러파일개요
__11.2.2해시테이블
__11.2.3여러명령어의정의
__11.2.4클라이언트정의
__11.2.5서버정의
__11.2.6내부인코딩
COLUMNzipmap

APPENDIXA.레디스계속해서활용하기
_A.1멤케시디와의기능및동작비교
__A.1.1간단한형태의데이터저장
__A.1.2간단하고불필요한기능없는안정적인동작
__A.1.3슬랩클래스단위로LRU를통한데이터관리
__A.1.4멀티스레드를통한이벤트기반처리
__A.1.5상호독립적인노드
__A.1.6명령어특징
__A.1.7네트워크및통신관련
__A.1.8고성능인메모리KVS

_A.2앞으로의레디스
__A.2.1Hash형

출판사 서평

최적의운영을위한레디스실전노하우

레디스는인메모리에서빠르게동작하고,자료형과기능을이용하여데이터를유연하게표현할수있어최근웹시스템등에서널리사용되고있습니다.
『실전레디스』는레디스의기초부터실무활용까지포괄적으로다루는레디스핵심가이드입니다.최신버전의레디스기능뿐만아니라데이터저장,클러스터링,모니터링과같은실제레디스를운영하면서꼭필요한내용까지여러사례와함께설명합니다.특히실전에서레디스를활용하기위한저자의노하우를바탕으로COLUMN구성을통해레디스의명령어에대한추가설명과레디스의기능비교및함수설명까지배울수있습니다.마지막으로레디스의지속적인활용을위해멤케시디와비교하면서레디스의전망을소개하는부록까지제공합니다.

『실전레디스』는레디스의기본개념부터애플리케이션개발예시,안정적인운용을위한메커니즘지식까지다룹니다.기초,실전,고급편으로구성되어있으며,[기초]편에서는레디스의기초,자료형과명령어실행예시,그리고레디스를활용한애플리케이션예시를통해레디스의기본을배워볼수있습니다.[실전]편에서는레디스를운용하는데필요한점과트러블슈팅,레플리케이션,메모리관리뿐만아니라클라우드환경에서사용하는레디스에대해자세히다룹니다.마지막으로[고급]편에서는레디스와관련된기술을살펴보며,부록에서멤케시디와의비교를통해레디스의활용과전망을알아봅니다.
이러한단계별구성은마치백과사전처럼레디스의모든측면을익힐수있습니다.이책을통해레디스의매력을경험해보고,실전에서레디스를효과적으로활용하는데필요한지식을배워보세요.