간편결제, 신용카드 청구할인
네이버페이 1%
(네이버페이 결제 시 적립)
NH(올원페이)카드 12% (19,800원)
(3만원 이상 결제/최대 1만원 할인)
북피니언 롯데카드 30% (15,750원)
(최대할인 3만원 / 3만원 이상 결제)
하나SK 북&카드 30% (15,750원)
(최대할인 3만원 / 3만원 이상 결제)
EBS 롯데카드 20% (18,000원)
(최대할인 3만원 / 3만원 이상 결제)
인터파크 NEW 우리V카드 10% (20,250원)
(최대할인 3만원 / 3만원 이상 결제)
인터파크 현대카드 7% (20,930원)
(최대할인 3만원 / 3만원 이상 결제)
Close

Redis 핵심정리 : 프로젝트 성능을 최적화하는 레디스의 모든 필수 기능

원제 : Redis Essentials

2013년 9월 9일 이후 누적수치입니다.

판매지수 321
?
판매지수란?
사이트의 판매량에 기반하여 판매량 추이를 반영한 인터파크 도서에서의 독립적인 판매 지수입니다. 현재 가장 잘 팔리는 상품에 가중치를 두었기 때문에 실제 누적 판매량과는 다소 차이가 있을 수 있습니다. 판매량 외에도 다양한 가중치로 구성되어 최근의 이슈도서 확인시 유용할 수 있습니다. 해당 지수는 매일 갱신됩니다.
Close
공유하기
정가

25,000원

  • 22,500 (10%할인)

    1,250P (5%적립)

  • 이벤트/기획전

  • 연관도서(322)

  • 사은품(1)

책소개

레디스를 실무에 적용하고 확장하고자 하는 이들에게 훌륭한 가이드 역할

이 책은 레디스를 이전에 경험했든 하지 않았든 레디스에 대해 배우고자 하는 사용자를 대상으로 한다. 애플리케이션에 실제로 적용한 예제를 사용함으로써, 수년 동안 레디스를 사용해온 회사들이 해결한 문제들을 보여준다.
또한, 레디스의 기능을 이해할 수 있도록 기초 정보를 제공함으로써, 실무에서 사용 중인 레디스를 확대하고 확장할 수 있는 방법을 가르쳐준다.

출판사 서평

요약

레디스는 인메모리(In-memory) 고성능 키-값 데이터 저장소로서, 강력한 성능을 보여준다. 다양한 타입을 제공할 뿐아니라, 캐시 크기에 대한 제한이 상대적으로 높지 않으면서도 가볍고 이식성이 높은 오픈소스 솔루션이다. 이 책은 레디스 3를 기준으로 설명하고 있고, 노드(Node.js)를 이용해 비트맵(Bitmap)과 하이퍼로그로그(HyperLogLog)를 포함한 레디스의 모든 타입을 다룬다. 또한 AOF와 RDB를 상세히 설명하고, PHP, 파이썬(Python), 루비(Ruby) 언어로 개발된 클라이언트를 통한 레디스 사용 방법을 소개한다. 특히 레디스를 수평으로 확장할 수 있는 트웸프록시(Twemproxy), 레디스 센티널(Redis Sentinel), 레디스 클러스터(Redis Cluster)의 장단점을 객관적으로 살펴보고, 루아(Lua)를 이용해 레디스 커맨드를 설명하며, 보안을 높이는 방법을 자세히 알아본다. 레디스를 실무에 적용하고 확장하고자 하는 이들에게 훌륭한 가이드가 될 것이다.

이 책에서 다루는 내용

- 비트맵(Bitmap)과 하이퍼로그로그(HyperLogLog)를 사용한 분석 애플리케이션 설계
- 트웸프록시(Twemproxy), 레디스 센티널(Redis Sentinel), 레디스 클러스터(Redis Cluster)를 통한 확장성 향상 방법
- 노드(Node.js)와 레디스를 이용한 시계열 라이브러리 구현
- 레디스에 루아(Lua)를 확장한 새로운 레디스 커맨드 생성
- 데이터를 보호할 수 있는 보안 기술(SSL 암호화, 방화벽 규칙, 기초 인증)
- 디스크에 데이터 저장하는 방법 및 AOF와 RDB의 장단점
- 노드, PHP, 파이썬(Python), 루비(Ruby) 언어로 된 레디스 클라이언트의 사용 방법
- 솔루션을 설계할 때, 일반적으로 발생하는 실수 방지

이 책의 대상 독자

이 책은 레디스를 이전에 경험했든 하지 않았든 레디스에 대해 배우고자 하는 사용자를 대상으로 한다. 애플리케이션에 실제로 적용한 예제를 사용함으로써, 수년 동안 레디스를 사용해온 회사들이 해결한 문제들을 보여준다.
또한, 레디스의 기능을 이해할 수 있도록 기초 정보를 제공함으로써, 실무에서 사용 중인 레디스를 확대하고 확장할 수 있는 방법을 가르쳐준다.

이 책의 구성

1장, '시작하기(기초 단계)'에서는 레디스 설치 방법과 redis-cli 사용 방법, 레디스의 기본 커맨드라인 인터페이스를 설명한다. 또한 노드 설치 방법을 살펴보고, 자바스크립트 문법을 빠르게 훑어본다. 문자열(String)과 리스트(List), 해시(Hash) 데이터 타입을 rediscli와 노드(Node.js) 예제와 함께 상세히 다룬다.
2장, '고급 데이터 타입(검은 띠 따기)'에서는 1장에 이어 셋(Set), 정렬된 셋(Sorted Set), 비트맵(Bitmap), 하이퍼로그로그(HyperLogLog) 데이터 타입을 소개한다. 2장의 모든 예제는 redis-cli와 노드로 구현된다.
3장, '시계열(관찰 집합)'에서는 노드의 시계열 라이브러리를 생성하기 위해 1장과 2장에서 소개한 데이터 타입에 대한 모든 지식을 사용한다. 각 예제는 차례대로 시계열 라이브러리를 구현한다. 처음에는 문자열 데이터 타입을 사용해 시계열 라이브러리를 구현하고, 다음에는 해시 데이터 타입을 사용해 시계열 라이브러리를 구현하며 최적화한다. 특별히 정렬된 셋과 하이퍼로그로그 데이터 타입을 사용해 각각 문자열과 해시 구현을 추가로 알아본다.
4장, '커맨드(괴물들이 사는 나라)'에서는 Pub/Sub와 트랜잭션(transaction), 파이프라인(pipeline)을 소개한다. 또한 레디스를 확장할 수 있는 스크립트 기반의 루아(Lua) 언어를 소개한다. 루아 언어의 문법을 설명하고 이전 장들에서 다루지 않은 관리 커맨드와 데이터 타입 커맨드를 포함한 온갖 종류의 레디스 커맨드를 다룬다. 또한, 메모리 또는 성능 관점에서 여러 데이터 타입을 최적화할 수 있는 레디스 설정의 변경 방법을 살펴본다.
5장, '선호하는 언어의 클라이언트(여러 언어로 레디스 다루기)'에서는 PHP와 파이썬(Python), 루비(Ruby)로 레디스를 사용하는 방법을 보여준다. 특히 5장에서는 서로 다른 언어의 클라이언트에 따라 달라지는 기능들, 즉 블로킹 커맨드, 트랜잭션, 파이프라인, 스크립트를 부각해서 살펴보도록 한다.
6장, '일반적인 실수(실수 피하기)'에서는 상용 환경에서 레디스를 사용하거나, 또는 실무적으로 레디스와 관련해 작업할 때 흔히 범하는 일반적인 실수들을 보여준다. 문제를 해결하는 데 잘못된 데이터 타입을 사용하는 실수, 스왑 메모리를 너무 많이 사용하는 실수, 백업 전략을 비효율적으로 사용하는 실수 등을 포함한다.
7장, '보안 기술(데이터 보호하기)'에서는 레디스로 기본적인 보안을 설정하는 방법, 커맨드를 실행 안 되게 하거나 커맨드 이름을 바꿔 알아볼 수 없게 하는 방법, 방화벽 규칙으로 레디스를 보호하는 방법, stunnel을 이용해 클라이언트와 서버 간의 통신을 SSL로 암호화하는 방법을 보여준다.
8장, '레디스 확장하기(하나의 인스턴스를 넘어서기)'에서는 RDB와 AOF를 저장하는 방법, 레디스 슬레이브를 통한 복제 방법, 여러 장비에 걸쳐 데이터를 파티셔닝하는 방법을 소개한다. 또한 여러 인스턴스에 레디스 데이터를 투명하게 분산할 수 있는 트웸프록시(twemproxy)의 사용 방법도 살펴본다.
9장, '레디스 클러스터와 레디스 센티널(집단 지성)'에서는 레디스 클러스터(Redis Cluster)와 레디스 센티널(Redis Sentinel)의 차이점, 목적, CAP 정리에 맞추는 방법을 살펴본다. 또한, 레디스 센티널과 레디스 클러스터의 설정 방법과 설정 지시자를 설명하고, 레디스 센티널과 레디스 클러스터에서 장애가 발생하는 시나리오를 통해 레디스 내부에서 무슨 일이 벌어지는지 보여준다. 레디스 클러스터는 센티널보다 더 복잡하며, 클러스터를 관리하는 툴이 더 많기 때문에 레디스 클러스터에 대해 좀 더 상세히 다룬다. 내부 레디스 커맨드와 redis-trib 툴을 사용해 클러스터 관리를 설명한다.

지은이의 말
레디스는 가장 인기 있는 인메모리(in-memory) 키-값 저장소다. 레디스는 매우 가볍고, 경쟁력 있는 데이터 타입을 포함한다. 인메모리 데이터베이스 또는 사용하기 쉽고 확장성이 뛰어난 고성능 캐시 시스템이 필요하다면, 여러분이 사용해야 하는 시스템은 바로 레디스다.
이 책은 데이터 타입에 대한 기초를 설명하고, 레디스 커맨드를 통해 데이터를 관리하는 방법을 다루며 IT 업계의 레디스 고수의 경험들을 공유하는 혁신적인 가이드다.

옮긴이의 말
프로그래밍을 시작하면서 캐시 솔루션에 대해 많은 고민을 했다. 캐시는 사용할 데이터를 웹 애플리케이션 내부 메모리에 저장하면 성능을 개선할 수 있지만, 데이터 양이 너무 많다면 메모리 이슈가 발생하기 때문이다. 특히 자바의 경우는 JVM 튜닝이 필수적이었다. 웹서비스가 성장하면서 캐시 솔루션이 많이 등장하기 시작했다. 때마침 LiveJournal에서 개발되고 페이스북에서 사용되면서 유명해진 멤캐시드(memcached)와 함께 레디스를 캐시 솔루션으로 사용할 기회가 생겼고, 현재 웹 애플리케이션은 캐시 아키텍처 덕분에 간결해지고 성능이 더욱 좋아지고 있다.
여러 프로젝트에서 레디스를 사용해봤지만, 이 책을 통해 레디스에 대한 충분히 이해함으로써 시야를 많이 넓힐 수 있었다. 기존에 사용하던 레디스 타입뿐 아니라 다양한 타입을 제대로 이해하고 활용할 수 있게 됐고, 트웸프록시(Twemproxy), 레디스 센티널(Redis Sentinel), 레디스 클러스터(Redis Cluster)의 장점과 단점을 더욱 세밀하게 알 수 있었다.
이 책을 통해 레디스 클러스터를 실전 배치에서 사용하게 됐다.
레디스를 처음 접하는 분, 레디스를 속속들이 알고 싶은 분, 레디스 3에 대해 제대로 알고 싶은 분, 다양한 언어의 레디스 클라이언트를 알고 싶은 분들에게 이 책을 추천한다.

목차

1장. 시작하기 (기초 단계)
설치
소스 설치
Hello Redis(커맨드라인 인터페이스 예제)
노드 설치
속성 자바스크립트 문법 가이드
노드와 레디스를 이용한 Hello World
레디스 데이터 타입
문자열
redis-cli를 활용한 문자열 예제
노드를 이용해 문자열로 투표 시스템 개발하기
리스트
redis-cli를 활용한 리스트 예제
일반적인 큐 시스템 구현
해시
redis-cli를 이용한 해시 사용
해시와 노드를 이용한 투표 시스템
요약

2장. 고급 데이터 타입(검은 띠 따기)

redis-cli를 이용한 셋 예제
딜 추적 시스템 개발
정렬된 셋
redis-cli를 이용한 정렬된 셋 예제
온라인 게임에서 리더보드 시스템 개발
비트맵
redis-cli를 이용한 비트맵 예제
웹 분석 시스템 개발
하이퍼로그로그
고유 방문자 수 계산- 하이퍼로그로그 vs 셋
redis-cli를 사용한 하이퍼로그로그 예제
웹사이트 방문 수를 계산하고 얻기
요약

3장. 시계열(관찰 집합)
기초 구축
해시로 최적화
정렬된 셋과 하이퍼로그로그를 사용한 유일한 엘리먼트 추가
요약

4장. 커맨드(괴물들이 사는 나라)
Pub/Sub
트랜잭션
파이프라인
스크립트
루아 기본 문법
레디스, 루아를 만나다
기타 커맨드
INFO
DBSIZE
DEBUG SEGFAULT
MONITOR
CLIENT LIST와 CLIENT SETNAME 커맨드
CLIENT KILL
FLUSHALL
RANDOMKEY
EXPIRE와 EXPIREAT
TTL과 PTTL
PERSIST
SETEX
DEL
EXISTS
PING
MIGRATE
SELECT
AUTH
SCRIPT KILL
SHUTDOWN
OBJECT ENCODING
데이터 타입의 최적화
문자열
리스트

해시
정렬된 셋
메모리 사용 측정
요약

5장. 선호하는 언어의 클라이언트(여러 언어로 레디스 다루기)
PHP
PHP의 기본 커맨드
PHP의 블로킹 커맨드
PHP의 파이프라인
PHP의 트랜잭션
PHP에서의 스크립트 사용
파이썬
파이썬의 기본 커맨드
파이썬의 블로킹 커맨드
파이썬의 파이프라인
파이썬의 트랜잭션
파이썬에서의 스크립트 사용
루비
루비의 기본 커맨드
루비의 블로킹 커맨드
루비의 파이프라인
루비의 트랜잭션
루비에서 스크립트의 사용
요약

6장. 일반적인 실수(실수 피하기)
작업에 대한 잘못된 데이터 타입
셋을 이용한 접근 방식
비트맵을 이용한 접근 방식
다중 레디스 데이터베이스
스왑 사용
메모리를 적절하게 설정하지 않기
부적절한 저장 전략
요약

7장. 보안 기술(데이터 보호하기)
기본적인 보안
중요한 커맨드를 알기 어렵게 하기
네트워크 보안
방화벽 규칙으로 레디스 보호
루프백 네트워크 인터페이스로 레디스 실행
가상 사설 클라우드에서 레디스 실행
클라이언트와 서버 간의 통신 암호화
클라이언트와 서버에서 stunnel 실행하기
서버에서의 stunnel 실행 및 SSL을 지원하는 레디스 클라이언트 사용
요약

8장. 레디스 확장하기(싱글 인스턴스 넘어서기)
저장
레디스 데이터베이스(RDB)
AOF
RDB 대 AOF
복제
파티셔닝
범위 파티셔닝
해시 파티셔닝
미리 샤딩하기
일관적 해싱
태깅
데이터 저장소 대 캐시
레디스 파티셔닝의 구현
트웸프록시로 자동 샤딩하기
트웸프록시를 사용한 다른 아키텍처
요약

9장. 레디스 클러스터와 레디스 센티널(집단 지성)
CAP 정리
레디스 센티널
기본 센티널 설정
센티널에 연결
네트워크 파티션(스플릿-브레인)
레디스 클러스터
해시 슬롯
해시 태그
기본 클러스터의 생성
노드 검색과 리디렉트
설정
다른 레디스 클러스터 아키텍처
클러스터 관리
클러스터 생성
슬레이브/복제본 추가
슬레이브 노드를 이용해 읽기 확장
노드 추가
노드 삭제
redis-trib 툴을 이용한 레디스 클러스터 관리
요약

저자소개

맥스웰 데이브슨 다 실바(Maxwell Dayvson Da Silva) [저] 신작알림 SMS신청 작가DB보기
생년월일 -
출생지 -
출간도서 0종
판매수 0권

독학으로 연구하고 터득하는 소위 '항상 공부하는' 프로그래머다. 현재 뉴욕 타임즈에서 기술 담당 이사로 재직 중이다.
브라질의 레시페(Recife)에서 태어났고, 비디오 전문가로서 전 세계 시청자들에게 새로운 기술을 보여주는 것이 자신의 직업적 소명이라고 생각해 왔다. 확장성이 높은 제품을 개발하고 전달하는 일부터 큰 스케일의 비디오 솔루션을 혁신하고 구현하는 일을 하고 있다. 뉴욕 타임즈에 재직하기 전에는 브라질의 주요 미디어 네트워크 회사인 글로보(Globo)와 글로벌 디지털 미디어 회사인 테라(Terra)에서 근무했다.
맥스웰은 캠퍼스 파티(Campus Party

펼쳐보기
휴고 로페스 타바레스(Hugo Lopes Tavares) [저] 신작알림 SMS신청 작가DB보기
생년월일 -
출생지 -
출간도서 0종
판매수 0권

브라질 출신의 소프트웨어 개발자며, 데이터 집계와 분석을 전문으로 하는 기술 회사 이핏(Yipit)에서 플랫폼 엔지니어로 일하고 있다. 그 전에는, 남미에서 가장 큰 미디어 대기업인 그루포 글로보(Grupo Globo)의 인터넷 자회사 글로보닷컴(Globo.com)에서 라이브 스트리밍 비디오 개발을 했다.
그는 오픈소스 소프트웨어 개발 분야에 엄청난 영향을 끼쳤다. pip의 주요 공헌자 중 한 명이며, CPython과 파이썬 표준 라이브러리 개발에 참여했고, Splinter(웹 테스팅 툴) 공동 개발을 비롯해 중요한 여러 프로젝트에 공헌했다. https://github.com/hltbra에서 그가 공헌

펼쳐보기
생년월일 -
출생지 -
출간도서 0종
판매수 0권

네이버, 라인(Line)을 거쳐 카카오(Kakao)에서 개발자로 일하고 있다. 현재 마흔두 살의 평범한 개발자로 다양한 도전에서 에너지를 얻으며, 개발과 실무 경험을 블로그에 기록하고 있다. 에이콘출판사의 [Ansible 설정 관리](2015), [ElasticSearch Cookbook 2/e](2016), [Redis 핵심정리](2016), [CentOS 7 리눅스 서버 쿡북](2016), [하이브 핵심정리](2017), [일래스틱서치 고급 기능의 개념과 활용](2017), [SMACK 스택을 이용한 빠른 데이터 처리 시스템](2017)을 번역했다.

이 상품의 시리즈

acorn+PACKT 시리즈(총 351권 / 현재구매 가능도서 322권)

펼쳐보기

이 책과 내용이 비슷한 책 ? 내용 유사도란? 이 도서가 가진 내용을 분석하여 기준 도서와 얼마나 많이 유사한 콘텐츠를 많이 가지고 있는가에 대한 비율입니다.

    리뷰

    0.0 (총 0건)

    기대평

    작성시 유의사항

    평점
    0/200자
    등록하기

    기대평

    10.0

    교환/환불

    교환/환불 방법

    ‘마이페이지 > 취소/반품/교환/환불’ 에서 신청함, 1:1 문의 게시판 또는 고객센터(1577-2555) 이용 가능

    교환/환불 가능 기간

    고객변심은 출고완료 다음날부터 14일 까지만 교환/환불이 가능함

    교환/환불 비용

    고객변심 또는 구매착오의 경우에만 2,500원 택배비를 고객님이 부담함

    교환/환불 불가사유

    반품접수 없이 반송하거나, 우편으로 보낼 경우 상품 확인이 어려워 환불이 불가할 수 있음
    배송된 상품의 분실, 상품포장이 훼손된 경우, 비닐랩핑된 상품의 비닐 개봉시 교환/반품이 불가능함

    소비자 피해보상

    소비자 피해보상의 분쟁처리 등에 관한 사항은 소비자분쟁해결기준(공정거래위원회 고시)에 따라 비해 보상 받을 수 있음
    교환/반품/보증조건 및 품질보증 기준은 소비자기본법에 따른 소비자 분쟁 해결 기준에 따라 피해를 보상 받을 수 있음

    기타

    도매상 및 제작사 사정에 따라 품절/절판 등의 사유로 주문이 취소될 수 있음(이 경우 인터파크도서에서 고객님께 별도로 연락하여 고지함)

    배송안내

    • 인터파크 도서 상품은 택배로 배송되며, 출고완료 1~2일내 상품을 받아 보실 수 있습니다

    • 출고가능 시간이 서로 다른 상품을 함께 주문할 경우 출고가능 시간이 가장 긴 상품을 기준으로 배송됩니다.

    • 군부대, 교도소 등 특정기관은 우체국 택배만 배송가능하여, 인터파크 외 타업체 배송상품인 경우 발송되지 않을 수 있습니다.

    • 배송비

    도서(중고도서 포함) 구매

    2,000원 (1만원이상 구매 시 무료배송)

    음반/DVD/잡지/만화 구매

    2,000원 (2만원이상 구매 시 무료배송)

    도서와 음반/DVD/잡지/만화/
    중고직배송상품을 함께 구매

    2,000원 (1만원이상 구매 시 무료배송)

    업체직접배송상품 구매

    업체별 상이한 배송비 적용