메뉴 바로가기 검색 및 카테고리 바로가기 본문 바로가기

실전 레디스

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

한빛미디어

번역서

판매중

  • 저자 : 하야시 쇼고
  • 번역 : 서대원 , 정경석(감수)
  • 출간 : 2024-05-17
  • 페이지 : 704 쪽
  • ISBN : 9791169212359
  • eISBN : 9791169218146
  • 물류코드 :11235
  • 초급 초중급 중급 중고급 고급
1 2 3 4 5
4.9점 (25명)
좋아요 : 95

책소개

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

 

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

 

저자소개

하야시 쇼고 저자

하야시 쇼고

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

서대원 역자

서대원

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

정경석(감수) 역자

정경석(감수)

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

목차

[PART 01 기초]
 

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

 

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

 

CHAPTER 03 고급 기능 
_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 클라이언트 측 캐싱

 

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

 

[PART 02 실전]

 

CHAPTER 05 레디스 운용 관리 
_5.1 데이터 영속성
__5.1.1 스냅숏
COLUMN CRC
__5.1.2 AOF
__5.1.3 스냅숏과 AOF 비교
__5.1.4 데이터 삭제 패턴
COLUMN RDB 파일 형식
_5.2 캐시 서버로서 레디스 아키텍처
__5.2.1 읽기 관점 아키텍처
__5.2.2 쓰기 관점 아키텍처
__5.2.3 아키텍처 안티 패턴
__5.2.4 데이터 저장소로서의 레디스 아키텍처
_5.3 모범 사례
__5.3.1 TTL 설정
__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.2 ACL기능
_5.7 벤치마크
COLUMN 레디스와 멤케시디 벤치마크
_5.8 멀티 스레드 처리
_5.9 DEBUG 명령어
COLUMN 데이터베이스

 

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

 

CHAPTER 07 레플리케이션 
_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 레플리케이션 도입 방법
COLUMN Systemd로 실행하는 경우
COLUMN 페일오버 동작
COLUMN 레디스 센티널

 

CHAPTER 08 레디스 클러스터 
_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.1 MOVED 리다이렉트와 ASK 리다이렉트
__8.4.2 레디스 클러스터 지원 클라이언트 동작
__8.4.3 레디스 클러스터 지원 클라이언트 사용 방법
_8.5 레디스 클러스터 관련 명령어
_8.6 레디스 클러스터 설치 방법
__8.6.1 모든 마스터 혹은 모든 레플리카에 특정 작업 실행
COLUMN 레디스 클러스터 페일오버 동작
COLUMN 로그 양식

 

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

 

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

 

[PART 03 고급]

 

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


APPENDIX A. 레디스 계속해서 활용하기
_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.1 Hash형의 TTL 강화
__A.2.2 더욱 신뢰할 수 있는 키 공간 알림
__A.2.3 키 어노테이션
__A.2.4 레디스 클러스터 개선

출판사리뷰

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

독자리뷰

오탈자 보기

부록/예제소스

결제하기
• 문화비 소득공제 가능
• 배송료 : 2,000원배송료란?

배송료 안내

  • 20,000원 이상 구매시 도서 배송 무료
  • 브론즈, 실버, 골드회원 무료배송
닫기

리뷰쓰기

닫기
* 상품명 :
실전 레디스
* 제목 :
* 별점평가
1 2 3 4 5
* 내용 :

* 리뷰 작성시 유의사항

글이나 이미지/사진 저작권 등 다른 사람의 권리를 침해하거나 명예를 훼손하는 게시물은 이용약관 및 관련법률에 의해 제재를 받을 수 있습니다.

1. 특히 뉴스/언론사 기사를 전문 또는 부분적으로 '허락없이' 갖고 와서는 안됩니다 (출처를 밝히는 경우에도 안됨).
2. 저작권자의 허락을 받지 않은 콘텐츠의 무단 사용은 저작권자의 권리를 침해하는 행위로, 이에 대한 법적 책임을 지게 될 수 있습니다.

오탈자 등록

닫기
* 도서명 :
실전 레디스
* 구분 :
* 상품 버전
종이책 PDF ePub
* 페이지 :
* 위치정보 :
* 내용 :

도서 인증

닫기
도서명*
실전 레디스
구입처*
구입일*
부가기호*
부가기호 안내

* 온라인 또는 오프라인 서점에서 구입한 도서를 인증하면 마일리지 500점을 드립니다.

* 도서인증은 일 3권, 월 10권, 년 50권으로 제한되며 절판도서, eBook 등 일부 도서는 인증이 제한됩니다.

* 구입하지 않고, 허위로 도서 인증을 한 것으로 판단되면 웹사이트 이용이 제한될 수 있습니다.

닫기

해당 상품을 장바구니에 담았습니다.이미 장바구니에 추가된 상품입니다.
장바구니로 이동하시겠습니까?