반디앤루니스 인터넷서점

네비게이션 실시간 인기 책

    개발자를 위한 레디스 - 에이콘 오픈소스 프로그래밍 시리즈

    베스트

    개발자를 위한 레디스 - 에이콘 오픈소스 프로그래밍 시리즈

    • 김가림 저
    • 에이콘
    • 2023년 11월 08일
    • 정가
      38,000원
    • 판매가
      34,200원 [10% 할인]
    • 결제 혜택
      무이자
    • 적립금
      1,900원 적립 [5%P]

      NAVER Pay 결제 시 네이버페이 포인트 5% 적립 ?

    • 배송구분
      업체배송(반디북)
    • 배송료
      무료배송
    • 출고예정일

      출고예정일 안내

      ※ 출고예정일은 도서 재고상황에 따라 변동될 수 있습니다.

      close

      2026년 09월 28일(월)

      ※ 출고예정일은 도서 재고상황에 따라 변동될 수 있습니다.

    수량
    회원리뷰
    - [0]
    ISBN: 9791161757926 432쪽 821g 188 x 235 (㎜)

    이 분야의 베스트셀러

    출판사 리뷰

    이 책에서 다루는 내용

    · 마이크로서비스 아키텍처에서 NoSQL 활용
    · 레디스 설치, 환경 구성 및 기본 설정 파일 안내
    · 레디스의 다양한 자료구조 활용법
    · 효율적인 키 관리 방법
    · 레디스를 이용해 성능을 향상시키는 다양한 실제 사용 예제
    · 레디스를 캐시 및 세션 스토어로 활용하는 방법
    · 레디스를 메세지 브로커로 활용하는 pub/sub 및 stream 사용법
    · 레디스 데이터의 영구 저장 방법
    · 고가용성 설정을 위한 복제 구조 및 센티널 활용
    · 확장성을 갖춘 클러스터 사용 방법
    · 클라이언트 핸들링과 보안
    · 레디스 모니터링 구성 및 버전 업그레이드 방법

    이 책의 대상 독자

    · 인메모리 데이터베이스 개념을 처음 접하거나 알고 싶은 개발자
    · 레디스를 어떤 상황에서 효율적으로 활용할 수 있을지 고민 중인 개발자
    · 레디스의 장애를 최소화하는 방법을 찾는 개발자
    · 고가용성과 확장성을 갖춘 레디스를 운영하고자 하는 개발자

    이 책의 구성

    1장에서는 소프트웨어 아키텍처의 변화와, 이로 인해 현대의 데이터 저장소가 어떤 요구 사항에 직면했는지 알아본다.
    2장에서는 레디스를 설치하고, 실행하며, 간단하게 사용하는 방법을 소개한다.
    3장에서는 레디스에서 제공하는 자료 구조의 종류와 특징, 각 자료 구조에서 사용할 수 있는 커맨드에 대해 알아볼 것이다. 또한 레디스에서 키는 어떻게 다뤄지는지도 살펴본다.
    4장에서는 특정 상황에서 레디스의 자료 구조를 적절히 활용해 애플리케이션의 성능을 향상시키며, 동시에 개발의 단순함과 편의성을증대할 수 있는 방법을 소개한다.
    5장에서는 레디스를 캐시로 사용하는 방법을 알아본다. 캐시란 무엇인지, 어떤 상황에서 캐시를 사용해야 하는지, 레디스를 캐시로 잘 사용하는 방법과 주의해야 할 점은 무엇인지 짚어본다. 또한 캐시와 비슷하면서도 다른 세션 스토어에 대해서도 함께 이야기할 것이다.
    6장에서는 메시지 브로커의 핵심 역할을 알아보고, 메시지 브로커의 두 가지 형태인 메시징 큐와 이벤트 stream에 대해 소개한다.
    7장에서는 데이터를 안전하게 저장하기 위해 레디스에서 지원하는 (RDB와 AOF)두 가지 백업 방식에 대해 알아본다.
    8장부터는 레디스에서 고가용성을 보장하기 위한 기능들을 알아볼 것이다. 8장에서는 고가용성의 기본이 되는 복제 메커니즘에 대해 설명한다.
    9장에서는 자동 페일오버 기능을 수행하는 자체 솔루션인 센티널의 개념과 동작 방식을 설명한다.
    10장에서는 고가용성과 샤딩을 동시에 보장하는 클러스터 모드에 대해 알아볼 것이다.
    11장에서는 레디스에서 제공하는 보안 기능에 대해 알아본다. bind 설정은 레디스가 사용할 ip를 지정한다. 레디스의 이전 버전에서는 각 인스턴스에 하나의 패스워드만 설정할 수 있었다. 하지만 버전 6에서 도입된 ACL 기능을 이용하면 유저를 생성한 뒤 각 유저별로 다른 패스워드를 설정할 수 있으며, 이를 통해 유저 간에 패스워드를 개별적으로 관리하고 다른 권한을 할당할 수 있게 됐다.
    12장에서는 레디스가 클라이언트를 처리하는 방법에 대해 살펴볼 것이다. 클라이언트의 요청을 어떻게 처리하는지 그리고 클라이언트 연결을 어떻게 관리하는지를 다룰 예정이다. 또한 클라이언트 연결의 성능을 향상시키기 위한 파이프라이닝과 클라이언트 사이드 캐싱에 대해서도 간략히 살펴볼 것이다.
    13장에서는 레디스를 잘 운영하기 위해 알아야 할 내용을 소개한다. 레디스를 장애 없이 운영하기 위해서는 레디스가 구축된 서버와 레디스 인스턴스를 실시간으로 모니터링해 운영 환경에 문제가 생기지 않는지 확인하는 과정이 필수적이다. 아울러 프로메테우스와 그라파나를 이용해 레디스 대시보드를 작성하는 방법에 대해 알아볼 것이다.

    저자의 말

    최근 애플리케이션 개발의 필수 구성 요소로 자리 잡은 레디스의 중요성은 나날이 커져가고 있습니다. 많은 개발자가 다양한 서비스에서 레디스의 높은 성능을 활용해 효율적인 애플리케이션을 구축하고 있으며, 안정적인 데이터 관리와 빠른 접근성 사이의 균형을 이뤄내는 레디스는 많은 애플리케이션에서 점점 더 중요한 역할을 하고 있습니다. 인기와 함께 레디스에 대한 깊은 이해와 활용 능력 역시 점점 더 중요한 역량으로 인식되고 있습니다. 레디스는 다른 데이터 저장소에 비해 릴리스 속도가 비교적 빠르고 각 릴리스마다 유용한 신규 기능을 도입하고 있습니다. 레디스를 더 효율적으로, 더 광범위하게 활용할 수 있도록 하는 기능 업데이트는 계속되고 있지만 국내에서는 레디스에 대한 최신 정보를 제공하는 자료가 상대적으로 부족한 상황입니다. 이에 이 책을 통해 레디스의 최신 기능과 실용적인 활용 방안을 국내 개발자들에게 소개하고자 했습니다.

    레디스를 운영하며 몇 차례 레디스로 인한 서비스 장애를 겪은 적이 있습니다. 레디스는 많은 서비스에서 핵심 요소로 활용되기 때문에 장애 상황이 발생하면 그 영향이 상당히 크게 느껴집니다. 이런 상황은 레디스의 올바른 운영과 최적화의 중요성을 깨닫게 해줬고, 레디스 관련 서비스 장애를 예방하거나 최소화하는 방법을 공유할 필요성을 느끼게 됐습니다. 레디스의 기본 구조부터 고급 기능 그리고 실제 운영 활용 방법에 이르기까지 폭넓은 내용을 소개하는 책입니다. 다양한 활용 사례와 함께 소개된 애플리케이션 성능 최적화 방법은 레디스를 이미 활용 중인 개발자뿐만 아니라 레디스 도입을 고려하는 개발자들에게도 큰 도움이 될 것으로 기대합니다. 운영 중 발생할 수 있는 일반적인 문제점과 실무에서 적용 가능한 해결 전략을 제시하며 효율적인 운영 방법을 소개함으로써 데이터베이스 관리자, 시스템 엔지니어 그리고 높은 성능과 신속한 데이터 처리가 필요한 다양한 IT 분야의 전문가에게도 도움이 되길 바랍니다. 이 책을 쓰면서 저도 레디스에 대해 많이 배웠습니다. 레디스의 새로운 기능을 알게 되는 동시에 내부 동작 방식을 좀 더 이해할 수 있었으며 여러 장애 포인트에 대해서도 깊게 고민할 수 있는 계기가 됐습니다.

    저자 소개

    김가림

    저자 : 김가림
    RDBMS부터 NoSQL까지 다양한 데이터베이스 시스템을 관리하고 운영하는 엔지니어. NHN에서 DBA로 경력을 쌓았으며, NHN CLOUD의 관리형 Redis DBaaS인 EasyCache 상품의 초기 개발 단계부터 참여해 이중화 및 내부 가용성 설계에 대한 고민을 함께했다. EasyCache의 내부 파라미터 최적화와 신규 기능 제안 등으로 상품의 개선에 기여해왔다. 현재는 우아한형제들에서 데이터베이스 엔지니어로 근무하고 있다. 데이터베이스와 관련된 다양한 측면에서의 경험과 지식을 바탕으로 이 책을 통해 독자들에게 유용한 정보를 전달하고자 한다.

    목차


    1장. 마이크로서비스 아키텍처와 레디스
    __NoSQL의 등장 배경
    ____모놀리틱 아키텍처
    ____마이크로서비스 아키텍처
    ____데이터 저장소 요구 사항의 변화
    __NoSQL이란?
    ____실시간 응답
    ____확장성
    ____고가용성
    ____클라우드 네이티브
    ____단순성
    ____유연성
    __NoSQL 데이터 저장소 유형
    ____Graph 유형
    ____column 유형
    ____document 유형
    ____Key-value 유형
    __Redis란?
    ____레디스의 특징
    __마이크로서비스 아키텍처와 레디스
    ____데이터 저장소로서의 레디스
    ____메시지 브로커로서의 레디스

    2장. 레디스 시작하기
    __레디스 설치하기
    ____소스 파일을 이용해 레디스 설치하기
    ____리눅스에 레디스 설치하기
    ____Mac OS에 레디스 설치하기
    ____Windows에 레디스 설치하기
    __레디스 환경 구성
    ____서버 환경 설정 변경
    ____레디스 설정 파일 변경
    __레디스 실행하기
    ____프로세스의 시작과 종료
    ____레디스 접속하기
    ____데이터 저장과 조회

    3장. 레디스 기본 개념
    __레디스의 자료 구조
    ____string
    ____list
    ____hash
    ____Set
    ____Sorted Set
    ____비트맵
    ____hyperloglog
    ____geospatial
    ____stream
    __레디스에서 키를 관리하는 법
    ____키의 자동 생성과 삭제
    ____키와 관련된 커맨드

    4장. 레디스 자료 구조 활용 사례
    __Sorted set을 이용한 실시간 리더보드
    __Sorted set을 이용한 최근 검색 기록
    __Sorted set을 이용한 태그 기능
    __랜덤 데이터 추출
    __레디스에서의 다양한 카운팅 방법
    ____좋아요 처리하기
    ____DAU 구하기
    ____hyperloglog를 이용한 애플리케이션 미터링
    __Geospatial Index를 이용한 위치 기반 애플리케이션 개발
    ____위치 데이터란
    ____레디스에서의 위치 데이터

    5장. 레디스 캐시로 사용하기
    __레디스와 캐시
    ____캐시란?
    ____캐시로서의 레디스
    ____캐싱 전략
    __캐시에서의 데이터 흐름
    ____TTL
    ____Maxmemory Policy
    ____Cache stampede 현상
    __세션 스토어로의 레디스
    ____세션이란?
    ____세션 스토어가 필요한 이유
    ____캐시와 세션의 차이

    6장. 레디스 메시지 브로커로 사용하기
    __Message Queue와 Event streams
    ____레디스를 메시지 브로커로 사용하기
    __레디스의 pub/sub
    ____메시지 publish하기
    ____메시지 구독하기
    ____클러스터 구조에서의 pub/sub
    ____Shared pub/sub
    __레디스의 list를 메시징 큐로 사용하기
    ____list의 EX 기능
    ____list의 blocking 기능
    ____list를 이용한 circular queue
    __stream
    ____레디스의 stream과 아파치 카프카
    ____stream이란?
    ____데이터의 저장

    7장. 레디스 데이터 백업 방법
    __레디스에서 데이터를 영구 저장하기
    __관계형 데이터베이스 방식의 데이터 백업
    ____특정 조건에 자동으로 RDB 파일 생성
    ____수동으로 RDB 파일 생성
    ____복제를 사용할 경우 자동으로 RDB 파일 생성
    __AOF 방식의 데이터 백업
    ____AOF Rewrite가 동작하는 방법
    ____특정 조건에 자동으로 AOF rewrite
    ____수동으로 AOF rewrite
    ____AOF timestamp
    ____AOF 파일 복원
    ____AOF 파일의 안전성
    __백업을 사용할 때 주의할 점

    8장. 복제
    __레디스에서의 복제 구조
    ____복제 구조 구성하기
    ____패스워드 설정
    __복제 메커니즘
    ____비동기 방식으로 동작하는 복제 연결
    ____복제 ID
    ____부분 재동기화
    ____Secondary 복제 ID
    ____Read-only한 복제본 노드
    ____stale한 복제본 데이터
    ____백업을 사용하지 않는 경우에서의 데이터 복제

    9장. 센티널
    __HA 기능의 필요성
    __센티널이란?
    ____센티널 기능
    ____분산 시스템으로 동작하는 센티널
    ____센티널 인스턴스 배치 방법
    __센티널 인스턴스 실행하기
    ____센티널 프로세스 실행
    ____페일오버 테스트
    __센티널 운영하기
    ____패스워드 인증
    ____슬레이브 우선순위
    ____운영 중 센티널 구성 정보 변경
    ____모니터링할 레디스 노드 제거
    ____센티널 노드의 추가/제거
    ____센티널의 자동 페일오버 과정
    ____Split brain 현상

    10장. 클러스터
    __레디스 클러스터와 확장성
    ____스케일 업 vs 스케일 아웃
    ____레디스에서의 확장성
    ____레디스 클러스터의 기능
    __레디스 클러스터 동작 방법
    ____해시슬롯을 이용한 데이터 샤딩
    ____해시태그
    ____자동 재구성
    __레디스 클러스터 실행하기
    ____클러스터 초기화
    ____클러스터 상태 확인하기
    ____redis-cli를 이용해 클러스터 접근하기와 리디렉션
    ____페일오버 테스트
    __레디스 클러스터 운영하기
    ____클러스터 리샤딩
    ____클러스터 리샤딩-간단 버전
    ____클러스터 확장-신규 노드 추가
    ____노드 제거하기
    ____레디스 클러스터로의 데이터 마이그레이션
    ____복제본을 이용한 읽기 성능 향상
    __레디스 클러스터 동작 방법
    ____Heartbeat 패킷
    ____해시슬롯 구성이 전파되는 방법
    ____Node handshake
    ____클러스터 라이브 reconfiguration
    ____리디렉션
    ____장애 감지와 페일오버
    ____복제본 선출

    11장. 보안
    __커넥션 제어
    ____Bind
    ____패스워드
    ____Protected mode
    __커맨드 제어
    ____커맨드 이름 변경
    ____커맨드 실행 환경 제어
    ____레디스를 이용한 해킹 사례
    __ACL
    ____유저의 생성과 삭제
    ____유저 상태 제어
    ____패스워드
    ____패스워드 저장 방식
    ____커맨드 권한 제어
    ____키 접근 제어
    ____셀렉터
    ____pub/sub 채널 접근 제어
    ____유저 초기화
    ____ACL 규칙 파일로 관리하기
    __SSL/TLS
    ____SSL/TLS란?
    ____레디스에서 SSL/TLS 사용하기
    ____SSL/TLS를 사용한 HA 구성

    12장. 클라이언트 핸들링
    __클라이언트 연결을 처리하는 방법
    ____클라이언트 버퍼 제한
    ____클라이언트 eviction
    ____클라이언트 연결 관리-Timeout과 TCP Keepalive
    __파이프라이닝
    __클라이언트 사이드 캐싱

    13장. 레디스 운영하기
    __레디스 모니터링 구축하기
    ____프로메테우스와 그라파나를 이용한 레디스 모니터링
    ____레디스 플러그인을 이용한 그라파나 대시보드
    __레디스 버전 업그레이드
    ____Sentinel 구성의 레디스 버전 업그레이드
    ____Cluster 구성의 레디스 버전 업그레이드
    __장애를 예방할 수 있는 방법
    ____설치 및 구축
    ____운영 및 개발
    ____장애를 유발할 수 있는 기본 설정값 변경

    찾아보기

    배송 시 유의사항

    - 반디앤루니스에서 구매하신 도서는 물류 대행 위탁업체 웅진 북센을 통해 배송됩니다.
     (배송 포장에 "웅진 북센"으로 표기될 수 있습니다.)

    - 구매한 상품의 품질과 배송 관련 문의는 반디앤루니스로 문의 바랍니다.

    - 천재지변 및 택배사의 사정에 따라 배송이 지연될 수 있습니다.

    - 결제(입금) 완료 후 출판사 및 유통사의 사정으로 품절 또는 절판 되어 상품 구입이 어려울 수 있습니다. (별도 안내 예정)

    - 도서산간지역의 경우 추가 배송비가 발생될 수 있습니다.

    반품/교환

    상품 설명에 반품/ 교환 관련한 안내가 있는 경우 그 내용을 우선으로 합니다. (업체 사정에 따라 달라질 수 있습니다)

    반품/교환

    반품/교환
    반품/교환 방법 홈 > 고객센터 > 자주찾는질문 “반품/교환/환불” 안내 참고 또는 1:1상담게시판
    반품/교환 가능 기간 반품,교환은 배송완료 후 7일 이내, 상품의 결함 및 계약내용과 다를 경우 문제발견 후 30일 이내에 신청가능
    반품/교환 비용 변심 혹은 구매착오의 경우에만 반송료 고객 부담(별도 지정 택배사 없음)
    반품/교환 불가 사유
    • 소비자의 책임 사유로 상품 등이 손실 또는 훼손된 경우
    • 소비자의 사용, 포장 개봉에 의해 상품 등의 가치가 현저히 감소한 경우
    • 복제가 가능한 상품 등의 포장을 훼손한 경우 : 예)만화책, 잡지, 화보집 등
    • 시간의 경과에 의해 재판매가 곤란한 정도로 가치가 현저히 감소한 경우
    • 전자상거래등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에 해당되는 경우
    • 해외주문 상품(해외 원서)의 경우(파본/훼손/오발송 상품을 제외)
    소비자 피해보상
    환불지연에 따른 배상
    • 상품의 불량에 의한 반품, 교환, A/S, 환불, 품질보증 및 피해보상 등에 관한 사항은
      소비자 분쟁해결 기준(공정거래위원회고시)에 준하여 처리됨
    • 대금 환불 및 환불지연에 따른 배상금 지급 조건, 절차 등은 전자상거래 등에서의
      소비자 보호에 관한 법률에 따라 처리함
    반품/교환 주소 경기도 파주시 문발로 77, 웅진북센(반디앤루니스)
    • 회사명 : (주)서울문고
    • 대표이사 : 김홍구
    • 개인정보 보호책임자 : 김홍구
    • E-mail : bandi_cs@bnl.co.kr
    • 소재지 : (06168) 서울 강남구 삼성로 96길 6
    • 사업자 등록번호 : 120-81-02543
    • 통신판매업 신고번호 : 제2023-서울강남-03728호
    • 물류센터 : (10881) 경기도 파주시 문발로 77 반디앤루니스
    copyright (c) 2016 BANDI&LUNI'S All Rights Reserved