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

한빛출판네트워크

실전 레디스

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

한빛미디어

번역서

판매중

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

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

 

레디스는 인메모리에서 빠르게 동작하고, 자료형과 기능을 이용하여 데이터를 유연하게 표현할 수 있어 최근 웹 시스템 등에서 널리 사용되고 있습니다.
『실전 레디스』는 레디스의 기초부터 실무 활용까지 포괄적으로 다루는 레디스 핵심 가이드입니다. 최신 버전의 레디스 기능뿐만 아니라 데이터 저장, 클러스터링, 모니터링과 같은 실제 레디스를 운영하면서 꼭 필요한 내용까지 여러 사례와 함께 설명합니다. 특히 실전에서 레디스를 활용하기 위한 저자의 노하우를 바탕으로 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 레디스 클러스터 개선

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

 

실전 레디스

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

  하야시 쇼고 지음

  서대원 옮김

  정경석 감수

 

이번 책은 "실전 레디스"라는 책 입니다.

이 책은 레디스에 대해서 소개 부터 시작하여 기초를 다진 다음 실전 적용까지 학습할 수 있는 책 입니다.

 

지금까지 보통 관계형 데이터베이스만 주로 다루다 보니, 레디스 라는 비 관계형 데이터베이스는 처음 접하는 것 같습니다.

(음 .... 단어의 익숙함에 지나가다 들어봤을 수도 있을 것 같지만 .... )

책을 보기전, 구글에서 먼저 찾아 보았습니다.

레디스 (Redis)는 "Remote Dictionary Server" 의 약자 입니다.

키-값 구조의 비정형 데이터를 저장하고 관리하기 위한 오픈 소스 기잔의 비 관계형 데이터베이스 입니다.

2009년 살바토르 산필리포 (Salvatore Sanfilippo)가 처음 개발한 후 2015년 부터 Redis Labs가 지원하고 있다고 합니다.

모든 데이터를 메모리로 불러와서 처리하는 In Memory 기반의  DBMS 입니다.

라이센스는 "BSD"  라이센스를 따르고 있습니다  - 위키백과 참조

 

레디스는 아래의 경로에서 다운 받을 수 있습니다.

현재 (24.06.29) 최신 버전은 7.4.2 입니다.

https://redis.io/downloads/

Downloads - Redis

Faster starts now Download what you need to start building.

redis.io

 

지원하는 언어,

    C, C++, C#, Go, Java, Node.js, Perl, PHP, Python, Ruby, Rust, Scala, ActionScript, Clojure, Dart, Elang, Object-C,

    Smalltalk, Tcl, Common Lisp, Haskell, R, Pure Data.

정말 많은 언어들을 지원하고 있습니다. (처음 보는 언어들도 다수 보이네요...)

 

레디스는 구글을 통하여 찾아보면 많은 자료들이 존재 하고, Redis 사이트에서도 개발자 및 운용을 위한 매뉴얼이 있기 때문에 찾아서 학습하고 이용할 수 있지만,

필요한 부분들이 잘 정리되어 있기에 체계적으로 학습하고자 한다면 이 책이 충분히 도움 될 것 같습니다.

 

[대상독자]-------------------------------------------------------------------------------------------------------

  이 책에서 제시하는 대상 독자는 아래와 같습니다.

 

  내용을 보면 처음 접하는 분이거나, 사용한지 얼마 되지 않은 분들에게 많은 도움이 될 것 같습니다.

 

[책 구성]--------------------------------------------------------------------------------------------------------

  이 책은 주요 학습 부분으로 총 11개의 장을 3개의  부분으로 분류 되어 있습니다.

  기초, 실전, 고급 이렇게 3개의 부분으로 구분되어 있습니다.

  

  PART 01 : 기초

     기초 파트는 총 4개의 장으로 구성 되어 있습니다.

     레디스를 처음 접한다면 이 장을 꼼꼼히 학습한 후 넘어가면 좋을 것 같습니다.

 

     01 장, 레디스의 시작

       이 장에서는 레디스의 소개 및 구성 방식 그리고 실제 사용을 위한 서버 구축 방법에 대해 설명하고 있습니다.

 

     02 장, 자료형과 기능

       이 장에서는 레디스에서 사용되는 자료형과 각 자료형에 대한 주요 명령어들에 대해서 설명하고 있습니다.

 

     03장, 고급 기능

       이 장에서는 레디스에서 좀 더 높은 성능을 내기 위해 알면 도움 될 고급 기능들을 설면하고 있습니다.

       책에서도 얘기 하듯 당장에 학습을 하지 않아도 상관 없지만 높은 성능을 내기 위해서는 꼭 알아야 할 부분 인 것

       같습니다.

       다루는 내용은,

           - 파이프 라인

           - 루아 스크립팅 (이페머럴 스크립트, 레디스 함수)

           - 모듈

           - 키 공간 알림

           - 클라이언트 측 캐

  

     04장, 레디스를 활용한 애플리케이션 작성

        이 장에서는 실제 레디스가 어떻게 사용되는지를 예제를 통하여 설명하고 있습니다.

        여기서 다루는 언어는, 루비, PHP, 파이썬 입니다.

 

  PART 02: 실전

     실전 파트는 총 6개의 장으로 구성되어 있습니다.

     운용 관련 그리고 가장 중요한 메모리 관리 메커니즘, 트러블 슈팅 등에 대해서 다루고 있습니다.

 

     05 장, 레디스 운용 관리

       이 장에서는 레디스를 운용하면서 알아야할 점들을 설명합니다.

       레디스 서버의 아키텍처 구성 방법과 데이터 영속성, RDBMS 등에 대해 다루고, 운용하면서 고려해야할 부분들에

       대해서 설명합니다.

 

     06 장, 트러블 슈팅

       이 장에서는 트러블슈팅에 도움되는 명령어와 기능에 대해 설명합니다.

 

     07 장, 레플리케이션

       이 장에서는 데이터 안정성을 위한 레플리케이션 기능과 그 메커니즘에 대해서 실제 실행해 보면서 학습할 수 있도록

      설명합니다.

 

     08 장, 레디스 클러스터

       이 장에서는 데이터 안정성을 위한 레디스 클러스터의 개념과 동작 원리를 설명 합니다.

       cf) 레디스 클러스터는 여러 캐시 노드를 연결하여, 일부 장애가 발생하여도 시스템을 계속 운용할 수 있도록 합니다.

 

     09 장, 메모리 관리

       이 장에서는 메모리 관리 메커니즘과 주의할 점 그리고 효율적인 메모리 관리를 위해 알아야 할 부분들에 대해

      설명합니다.

 

     10 장, 클라우드에서 사용하는 레디스

       이 장에서는  OSS 레디스와의 차이점, 클라우드에서 이용 방법, 트러블슈팅 진행 방법 등을 설명 합니다.

 

  PART 03 : 고급

     고급 파트는 총 1개의 장으로 구성되어 있습니다.

     

     11장, 레디스의 구조

       이 장에서는 트러블슈팅이 어려운 경우에 레디스의 소스 구조를 분석하기 위한 관련 기술들에 대해서 설명합니다.

       알면 도움 될 부분들 이지만 필요에 따라서 학습하면 될 것 같습니다.

       레디스는 C 언어 코드로 작성되어 있기 때문에,  C 언어 학습이 우선시 되어야 할 것 같습니다.

 

  APPENDIX.

     A. 레디스 계속해서 활용하기

        부록 A 에서는 레디스와 멤케시디를 비교하고 향후 레디스의 방향성등을 설명합니다.

 

책 내용 구성은,

  - 내용 중에 참조할 부분들에 대해서는 URL 정보를 제공하고 있습니다.

 

  - 필요에 따라 알면 도움될 내용들에 대해 "COLUMN"  블럭을 통하여 추가 부연 설명을합니다.

 

[결론]-----------------------------------------------------------------------------------------------------------

구글에서 레디스관련 찾아보면 많은 자료들이 존재 합니다.

많은 곳에서 사용되고 있고 10여년의 역사를 가진 만큼 개발자 또는 운용 하시는 분들의 정리된 자료들이 많이 존재 하지만, 필요한 핵심을 잘 정리한 책은 많지 않은 것 같습니다.

특히 국내 번역된 책은 많지 않네요.

"실전 레디스" 이 책은 레디스를 처음 접하거나, 이미 도입하여 사용 중이지만 좀 더 정교하게 그리고 알고 있는 지식을 체계적으로 정리하는데 도움이 될 만한 책 입니다.

레디스를 알지 못하는 제 기준에서도 학습 하면서 덜컹 덜컹 걸리는 부분들이 있긴 하지만 학습하는데 크게 무리는 없었습니다.

2024년 5월에 출간된 한빛미디어의 <실전 레디스>에 대해 알아보겠습니다. 이 책의 원서는 <実践Redis入門>이며, 2022년 12월에 출간되었습니다. 

 

이 책의 저자는 Shogo Hayashi이며, 일본 아마존 평가 점수는 5점 만점에 4.4점으로 비교적 높은 평가를 받은 책입니다. 국내 서점에서의 평가 점수는 교보문고, YES24 그리고 한빛미디어에서 4점대 후반으로 높은 점수를 받고 있습니다.

 

필자는 이 책의 저자에 대해 잘 알지 못합니다만, 책에 있는 저자의 이력은 2017년에 아마존 AWS 팀에 합류한 이후, 레디스/멤캐시드 등을 다루는 업무를 진행한 것 같습니다. 저자에 대해 잘 모르지만, 이 책으로부터 얻은 첫인상은 좋았습니다. 또한 번역 품질도 좋은 편이며, 이 책의 감수를 <이것이 레디스다>를 집필하신 정경석 님이 해주셨습니다. 

 

<실전 레디스>는 약 700여 페이지로 구성되어 있으며, 휴대하면서 보기는 다소 어려울 것 같습니다. 전자책도 출간되어 있으므로 전자책으로 보는 것도 좋을 것 같습니다. 

 


한빛미디어의 도서 지원을 받아 작성한 리뷰입니다. 

한빛미디어에서 제공해 준 책을 읽고 작성했음을 밝힙니다.


 

이 책의 매력 포인트


이 책은 3 파트와 부록을 제외하고 11개의 챕터로 구성되어 있습니다. 첫 번째 파트는 기본편으로 4개의 챕터로 구성되어 있으며, 레디스 시작, 자료형과 기능, 고급 기능, 레디스를 활용한 애플리케이션 작성으로 구성되어 있습니다. 두 번째 파트는 실전편으로 6개의 챕터로 구성되어 있으며, 레디스 운용 관리, 트러블슈팅, 리플리케이션, 레디스 클러스터, 메모리 관리, 클라우드에서 사용하는 레디스로 구성되어 있습니다. 마지막으로 세 번째 파트는 하나의 챕터로 구성되어 있으며, 레디스의 구조란 제목으로 레디스와 관련된 기술을 탐색하고, 소스코드를 통해 다양한 관점에서 레디스를 분석하고 있습니다. 

 
 

앞 단락에서 설명했듯이, 레디스의 기본부터 운영하면서 발생하는 다양한 요인들을 이해하고 문제에 직면했을 때 해결 방법들을 자연스럽게 학습할 수 있습니다. 물론 다른 일본 저자의 책과 다르게 매뉴얼 느낌으로 작성되어 있어, 개인적으로는 더 좋은 인상을 받았습니다. 

 

처음 책을 마주하면 지루하게 느껴질 수도 있지만, 실제로 읽으면서 한 장씩 넘어가면 재미있게 읽을 수 있을 것 같습니다. 또한 저자의 풍부한 경험에서 나오는 다양한 지식을 책에 잘 녹여낸 매력적인 책이라고 생각합니다. 

 

마치면서


<실전 레디스>는 매력적인 서적입니다. 매뉴얼을 엄청 꼼꼼하게 잘 정리해 놓은 것 같은 인상을 받았습니다. 레디스를 다루면서 필요할 때마다 참고할만한 서적으로 좋을 것 같습니다. 

 

제 생각으로는 레디스 입문서뿐만 아니라 활용서로도 괜찮을 것 같습니다. 레디스를 다루시는 분은 한 번 읽어보시는 것을 추천합니다. 

 

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

도서에 대해 리뷰하겠습니다.

 

 

장점

  1. 빠른 데이터 처리: 레디스는 인메모리형 데이터 구조를 채택하고 있어 매우 빠른 처리 속도를 자랑합니다. 이는 실시간 데이터 처리와 응답 속도가 중요한 애플리케이션에 유리합니다
  2. 다양한 자료형 지원: String, List, Hash, Set, Sorted Set 등 다양한 자료형을 지원하여 데이터 표현의 유연성이 높습니다
  3. 영속성: 인메모리 데이터베이스임에도 불구하고 데이터를 영구적으로 저장할 수 있는 기능을 제공합니다

 

단점

  1. 복잡한 사용법: 다양한 기능과 자료형을 제공하는 만큼, 이를 모두 이해하고 사용하는 데에는 학습 곡선이 존재합니다
  2. 메모리 의존성: 인메모리 데이터베이스이기 때문에, 대규모 데이터를 처리할 때는 메모리 사용량이 급격히 증가할 수 있습니다

 

특이점

  1. 인메모리 및 영속성 결합: 대부분의 인메모리 데이터베이스가 영속성을 제공하지 않는 반면, 레디스는 빠른 데이터 처리와 영속성을 모두 제공합니다
  2. 다양한 자료형: 일반적인 데이터베이스에서는 보기 힘든 자료형들을 지원하여, 특정 요구사항에 맞는 최적의 자료 구조를 선택할 수 있습니다

 

글을 쓰다보니 저도 모르게 레디스에 대한 내용을 작성해버리고 말았긴하네요.. (정신머리가 어디가있는건지;)

 

결론

한빛미디어의 "실전 레디스" 도서는 레디스의 고성능 데이터 처리 능력과 다양한 자료형 지원, 영속성 제공 등 여러 장점을 잘 설명하고 있습니다.

그러나 복잡한 사용법과 메모리 의존성이라는 단점도 명확히 이해하고 사용해야 합니다.

 

이 도서는 레디스를 실제 운영 환경에서 효과적으로 사용하는 방법을 배우고자 하는 개발자들에게 큰 도움이 될 것입니다.

 

 

이상입니다.

"한빛미디어 < 나는리뷰어다 > 활동을 위해서 책을 제공받아 작성된 서평입니다."

책이 어느정도 두꺼운만큼, 내용도 알차고 기본부터 실무까지 아우르고 있는 좋은 책입니다!

정말 다양한 소프트웨어가 나와서 개발 업무에 큰 도움을 주고 있다. 그 중에서 내가 매우 유용하게 사용했던 '레디스' 도서를 리뷰하게 되었다.

실전 레디스는 '하야시 쇼고'라는 일본의 AWS 엔지니어가 저술한 책이다. 아마 개발자라면 레디스를 누구나 한번쯤 들어봤을 것이다. 이 책은 내가 보안 엔지니어로 일을 하던 당시부터 바로 이전 회사에서 애플리케이션을 개발할 때까지 여러번 접할 기회가 있었다. 보안 엔지니어 때는 당연히 기업에서 사용하고 있는 레디스의 보안 취약점을 찾아낼 수 있는 방법을 알기 위함이었다. 그래도 보안 엔지니어라면 제품의 기본적인 사용법은 알아야 한다는 생각에 레디스를 배웠던 기억이 난다. 그때도 책이 있었던 것 같은데 자세하진 않았던 기억이 난다. 그래서 명령어 위주로 간단하게나마 배웠었다.

그 이후에는 이전 회사에서 마침 사용자 인증 기능을 개발하고 있는 단계에서 레디스를 검토하게 되었다. 그 당시에 회원이 가입을 할 때 이메일 인증이 필요한데 인증 값을 어디에 저장을 해야할지 고민이 많았었다. 그래서 사용하고 있던 RDBMS인 PostgreSQL과 NoSQL 계열의 MongoDB 중 PostgreSQL로 가닥이 잡히고 있었는데 레디스를 사용했던 예전이 기억이 나서 도입 검토를 했는데 내가 원했던 기능을 레디스가 모두 지원하고 있었다. 인증 랜덤 값을 생성해서 키를 사용자의 이메일 아이디로, 그리고 밸류를 인증 값으로 사용하기에 너무나도 적합했던 것이다. 게다가 TTL(Time to live)이라는 기능이 있어서 일정 시간이 지나면 값이 저절로 사라지게 할 수 있다. 이에 레디스로 낙점을 했고 정말 유용하게 사용했으며 공부도 되었다.

이런 나의 경험을 보면 레디스는 정말 도움이 되는 도구임이 틀림없었다. <실전 레디스> 이 책은 나와 같은 상황에 처했을 개발자에게 매우 큰 도움이 될 가이드와도 같다. 아마 내가 생각하건대, 이보다 더 자세한 레디스 도서가 있을까 싶다. 도서는 입문 단계의 간단한 값을 저장하는 것에서부터 메모리 관리와 레플리케이션, 장애 처리 같은 중•고급 기능을 총 망라한다. 특히 루비, PHP, 파이썬 등 다양한 언어로 애플리케이션에 적용하는 법을 배우는 파트는 정말 값진 내용이었다. 나는 파이썬의 FastAPI를 이용해 실시간 채팅 관리 기능이라는 애플리케이션을 만드는 부분을, 아무래도 파이썬 개발자이다보니 주의 깊게 보게 되었다. 내가 이전 회사에서도 애플리케이션에 채팅 기능이 있었는데 해당 기능은 MongoDB를 사용했었던 기억이 있었는데 레디스를 사용했어도 됐었다.

레디스는 이제 매우 대중적으로 사용되고 있어서 자바를 비롯한, Node.js, 파이썬, 심지어 Perl까지 다양한 라이브러리가 있다는 것을 알게 되었다. 자바가 역시 라이브러리 세 개를 소개하고 있어서 가장 많은 라이브러리를 가지고 있는 것을 확인했다. 파이썬 또한 2개의 대표적인 라이브러리가 있었다.

부록을 제외하고도 670페이지 가량의 적지않은 페이지를 레디스에 할애하였다. 일본인이 쓴 도서임에도 불구하고 일본 번역책 특유의 느낌도 거의 없었기 때문에 그 분량까지 고려하면 역자분께서 많은 고생을 했겠구나라는 생각이 들었다. 내가 이 책을 추천하는 이유는 레디스의 입문부터 시작해서, 실전, 고급 부분까지 다루고 있기 때문에 레디스를 깊게 알고 싶거나 이제 입문을 원하는 분, 또는 각 단계에 해당하는 분들께 도움을 드릴 수 있는 책이라고 느꼈기 때문이댜. 캐시, 메모리 데이터베이스로 많이 쓰이고 있는 레디스를 공부하고 싶은 분은 누구라도 추천을 드리고 싶다.

다른 레디스 전공서를 살펴본적없이 이 도서 하나만을 보면서 이렇게 언급하는게 편향 적일 수도 있으나
"레디스 올인원"  딱 한줄로 밖에 표현을 못하겠다.
책 제목처럼 기초, 심화, 고급을 단 한권만으로 모두 군더더기 없이 잘 다뤄주는책 보기 힘든데 이 책은 그것을 해냈다.
모든 내용을 담지 못하는 서평 특성상 정말 좋은책임을 많이 강조하고 싶어도 글재주가 부족하여 잘 느껴질진 모르겠다.
여러 책을 살펴보긴 싫고 레디스에 대해 한권으로 끝내겠다면 이 책은 분명 큰 도움이 될 것이라 생각한다.

자세한 서평은 https://gunsight.tistory.com/46 을 참고해주세요.

오늘날 보다 빠르게 그리고 효율적으로 데이터를 다루기 위한 기술적 요구 사항은 날이 갈수록 늘어나고 있는 상황이다. 기존의 하드디스크 기반 DBMS 방식으로는 대량의 데이터를 빠르게 처리하기 위한 태생적 한계가 명확하고, SSD 기반으로 DBMS를 구성하더라도 앞서 하드디스크 방식의 DBMS가 가지는 한계를 극복하기 어려운 건 마찬가지다. 이러한 기술적 어려움을 해소하기 위해 인메모리 DBMS가 태동되었었고, 이에 대한 대표적인 케이스로서 Memchaced와 Redis가 존재한다. 오늘은 인메모리 데이터베이스 생태계의 왕좌를 굳건히 지키고 있는 레디스에 대한 서적으로 이야기를 풀어 나가려고 한다.  

 

 

본 서적은 레디스의 특징과 설치 그리고 기본 설정에 대한 이해를 학습하는 것으로 첫 장이 시작된다. 그러고 나서 레디스가 지니고 있는 독특한 자료형과 기능에 대한 이야기가 충실히 전개된다. 레디스에 대한 고급 기능을 다루는 챕터에서 파이프라인 및 루아 스크립트 그리고 모듈 등을 통해 레디스를 지원하는 툴링을 다루게 된다. 이윽고 레디스와 연동 가능한 프로그래밍 언어를 통해 간단한 애플리케이션을 구성해 보며, 실질적으로 애플리케이션 환경에 레디스가 어떻게 녹아 드는지에 대해 학습하게 된다. 이후 실전 파트에서는 본격적으로 레디스에 대한 운용과 관리 스킬을 배우게 되는데, 인메모리 DBMS가 지니는 본질적 한계인 영속성을 어떻게 극복하고 처리하는지, 레디스 설정과 관련된 다양한 기능에 대해 알게되는 시간을 갖게 된다. 또한 트러블슈팅과 관련된 내용 및 단일 레디스가 아닌 복수의 레디스 노드를 통해 레플리케이션과 클러스터를 어떻게 효율적으로 구성하고 구현할 수 있는지 대한 실전 팁과 노하우를 학습하고, 클라우드 환경에서 레디스를 다루게 되는 케이스에 대한 지식을 배우게 된다. 책의 후반부 고급 파트에서는 레디스의 구조를 보다 심층적으로 들여다보게 되는데, 레디스를 지탱하는 핵심을 파악할 수 있다는 점에서 레디스에 대한 지식을 고급으로 끌어올리는 데 필수적인 과정이라 할 수 있을 듯하다. 끝으로 레디스와의 라이벌로 대표되는 Memcached와 레디스에 대한 비교 및 향후 레디스에 대한 전망을 풀이하는 내용이 제공되면서 책은 마무리된다. 

 
국내에 레디스와 관련된 서적이 거의 없는 실정인데, 이 책을 통해 레디스의 설치부터 핵심 기능과 주요 개념, 운용과 관리 등의 전부를 포괄적으로 학습할 수 있다는 게 이 책의 가장 큰 장점이다. 레디스 입문자 및 레디스에 대한 지식을 보다 심화하길 원하는 이들에게 이 책에 대한 일독을 적극 권장한다. 

 

P.S 한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.

《실전 레디스》(하야시 쇼고 지음, 서대현 옮김, 정경석 감수, 한빛미디어, 2024)는 레디스의 기초부터 실전까지 깊이 있게 다룬 책입니다. 저자 하야시 쇼고는 레디스/멤케시디와 로드 밸런서를 비롯한 다양한 분야에서 회사 내 전문가로 활동했으며, 지금은 Amazon EMR(빅 데이터 플랫폼)의 릴리스 주변 컴포넌트 개발을 담당하고 있습니다. 이에 더해 《이것이 레디스다》(한빛미디어, 2013)의 저자 정경석씨가 감수를 해 전문성을 더했습니다.

 

점점 더 방대해지는 데이터로 인한 데이터베이스 기술은 계속 변화하고 있으며, 그 변화의 중심에는 '레디스(Redis)'가 있습니다. 《실전 레디스》는 레디스의 기본 개념부터 활용, 고급 기능까지 단계별로 설명하며, 실습을 통해 레디스를 어떻게 하면 잘 활용할 수 있는지를 설명합니다.

1부에서는 레디스 기초로 레디스의 소개와 레디스가 지원하는 다양한 자료형과 기능, PHP, 루비, 파이썬으로 레디스를 활용하는 법을 소개합니다.

2부에서는 레디스 실전으로 레디스 운용 및 유지보수와 레플리케이션, 클러스터, 메모리를 관리하는 방법, ElastiCache를 통해 클라우드에서의 레디스 활용법을 제공합니다.

3부에서는 레디스 심화로 구조와 소스코드를 통해 레디스가 어떻게 구성되었는지 깊게 이해합니다.

부록에서는 레디스와 멤케시디와의 비교, 앞으로 레디스에 추가될 기능들을 소개합니다.

 

 

 

다음은 《실전 레디스》의 장점입니다.

✅ 기초→실전→심화로 이어지는 구성입니다. 레디스의 기본 개념부터 실전까지 체계적이고 상세하게 다루고 있어 초보자들도 쉽게 이해할 수 있습니다.

✅ 실무 경험이 풍부한 저자가 직접 경험한 내용을 바탕으로 구체적인 활용 사례와 노하우를 알려줍니다.

✅ 레디스 운영 및 관리 노하우를 제공합니다. 모니터링, 레플리케이션, 클러스터, 보안 등 레디스 운영과 관련된 이슈와 성능 튜닝 방법을 자세히 설명하여 레디스를 보다 안정적으로 운영하고 관리하는 데 필요한 실무 지식을 얻을 수 있습니다.

✅ 다양한 연동 사례와 활용 방법을 소개합니다. 레디스와 php, 루비, 파이썬과의 조합, 캐싱, 세션 관리 등 실무에서 자주 활용되는 레디스의 활용 방법을 소개합니다.

 

대상 독자로는 레디스가 궁금한 초보자부터, 레디스를 도입하고자하는 중급자, 이미 레디스를 사용하고 있지만 더 깊이 이해하고 싶은 고급자에 이르기까지 다양합니다. 특히, 레디스를 통해 대규모 데이터를 효율적으로 관리하는 방법을 알고 싶은 개발자들에게 추천합니다.

그 밖에도 데이터베이스 엔지니어(DBA), 아키텍트 등 실무에서 레디스를 활용하는 개발자들에게 도움이 될 것 같습니다.

 

 

 

레디스(Remote Dictionary Server)는 인메모리 데이터 구조 저장소로써 인메모리에서 빠르게 동작하고,

자료형과 기능이 다양한 비관계형 데이터베이스입니다.

《실전 레디스》, 시작하며

 

이 책을 통해 레디스의 다양한 기능과 활용 사례를 깊이 있게 배울 수 있었습니다. 특히 실제 프로젝트에서 레디스를 어떻게 적용할 수 있는지, 어떤 점을 고려해야 하는지에 대한 실무 경험이 풍부하게 담겨 있어 유용했습니다.

레디스를 처음 접하는 분들에게는 1부 '레디스 기초'를 자세히 읽는 것을 추천하고 싶습니다. 레디스의 기본적인 설치 방법부터 시작하여, 기본적인 자료형, 데이터 구조, 명령어 사용법 등을 소개하고 있습니다. 레디스의 기본적인 이해를 돕고, 이후 나오는 복잡한 개념과 기능을 학습하는 데 기초를 다질 수 있었습니다.

또한 책을 통해 레디스의 다양한 데이터 구조, 명령어, 설치 및 설정 방법 등을 체계적으로 익힐 수 있었습니다. 각 데이터 구조의 특징과 장단점을 비교 분석하여 상황에 맞는 적절한 레디스 활용법을 선택하는 방법을 배웠습니다. 실제 코드 예시를 통해 데이터 구조를 직접 사용하고 조작하는 방법을 실습하며 레디스의 작동 원리를 깊이 이해할 수 있었습니다.

그리고 레디스를 실제 프로젝트에 적용하는 방법을 제공해서 유용했습니다. 캐싱, 메시징, 데이터베이스 백엔드 등 다양한 분야에서 레디스를 활용하는 구체적인 사례를 살펴볼 수 있었습니다. 각 활용 사례에서 발생할 수 있는 문제점과 해결 방법, 성능 최적화 전략 등을 꼼꼼하게 다루고 있어 레디스를 실제 환경에 적용할 때 발생할 수 있는 어려움을 미리 대비하고 해결할 수 있도록 도와줍니다.

레디스의 기본 개념부터 고급 기능, 연동 사례, 운영 노하우까지 레디스 전반에 걸쳐 체계적으로 다루고 있어, 레디스 초보자부터 경험자까지 모두에게 유용한 책입니다. 레디스를 배우고 싶거나 레디스 활용 능력을 향상시키고 싶은 모든 사람들에게 강력 추천하고 싶은 책입니다.

 

"한빛미디어 < 나는리뷰어다 > 활동을 위해서 책을 제공받아 작성된 서평입니다."

 

다양한 이슈나 블랙프라이데이에 수백만 명의 사용자가 동시에 쇼핑몰 웹사이트에 접속해 상품을 검색하고 장바구니에 담고 구매 완료하는 과정을 경험합니다이렇게 엄청난 트래픽을 처리하면서도 사이트가 느려지거나 다운되지 않도록 하는 비밀이 바로 레디스입니다레디스는 초고속 인메모리 데이터 저장소 덕분에 상품 재고는 실시간으로 업데이트되고사용자 세션은 매끄럽게 유지되며 결제 과정은 눈 깜짝할 사이에 완료됩니다이처럼 레디스는 정보를 매우 빠르게 저장하고 불러오는 시스템으로 웹사이트나 앱이 더 빠르고 효율적으로 작도할 수 있게 해줍니다

 

다방면으로 사용되고 있는 레디스의 인기는 높지만레디스에 관해 상세하게 정리된 도서는 찾아보기 힘든데요이번에 좋은 소식은 신간으로 나온 실전 레디스를 소개합니다실전 레디스는 기본 개념부터 애플리케이션 개발 예시안정적인 운용을 위한 메커니즘 지식까지 담고 있습니다레디스의 기초부터 실무 활용까지 포괄적으로 다루는 핵심 가이드 책처럼 방대한 양을 담고 있다는 것을 703페이지 수만 보아도 알 수 있는데요

 

우선실전 레디스는 기초실전고급 편으로 구성되어 있으며,

기초 편에서는 레디스의 기초자료형과 명령어 실행 예시그리고 레디스를 활용한 애플리케이션 예시를 통해 레디스의 기본을 배워 볼 수 있습니다대표적으로 다섯 가지 자료형으로 String, List, Hash, Set, Sorted Set형 등 자료형의 설명과 데이터 표현력도 뛰어나고 많은 프로그래밍 언어의 자료구조와 유사하다는 특징들을 경험할 수 있습니다특히, Sorted Set형을 활용한 실시간 애플리케이션처럼 SQL에서는 다루기 어려운 특성의 데이터 모델도 간단하면서도 강력하게 표현할 수 있습니다.

 

실전 편에서는 레디스 기본 지식을 갖춘 사용자나 이미 운용 중인 독자분들에게 큰 도움이 될 수 있는 내용들을 담고 있습니다레디스를 운용하는 데 필요한 점과 트러블슈팅레플리케이션메모리 관리뿐만 아니라 클라우드 환경에서 사용하는 레디스에 대해 자세하게 알아볼 수 있는데요이뿐만 아니라 레디스 서버의 아키텍처 구성 방법과 데이터 영속성, RDBMS 등에 대한 설명과 함께 레디스 운영하면서 고려해야 점을 상세하게 배울 수 있습니다영속성은 레디스와 같은 인메모리 데이터베이스에서 데이터를 영구적으로 보존하기 위해 필수적인 기능인데요. RDB와 AOF 방식을 통해 데이터의 안정성을 높이고시스템 재시작 시에도 데이터를 복구할 수 있는 레디스의 단순한 캐시 이상의 역할을 제대로 익히시길 바랍니다.

 

고급편에선 레디스와 관련된 기술을 살펴보며 소스 코드를 통해 다양한 관점에서 분석하는 과정을 볼 수 있습니다지속적으로 활용할 수 있는 부록에서 멤커시디와 비교를 통해 레디스의 활용과 전망을 확인해 보세요

 

실전 레디스는 제목처럼 실전에 가능한 최신 버전의 레디스 기능뿐만 아니라 데이터 저장클러스터링모니터링과 같은 실제 레디스를 운영하면서 꼭 필요한 내용까지 여러 사례를 담고 있어 쉽게 기초 부분을 배워 나갈 수 있습니다특히 실전에서 레디스를 활용하기 위한 저자의 노하우를 바탕으로 COLUMN 구성을 통해 레디스의 명령어에 대한 추가 설명과 레디스의 기능 비교 및 함수 설명까지 알아갈 수 있습니다.

 

현대 소프트웨어 개발에 빠질 수 없는 필수 요소 레디스의 매력은 넘쳐나고 있는데요.

레디스는 풍부한 자료형과 빠른 속도로 실시간 데이터 처리 및 캐싱에 탁월한 솔루션을 제공해 수많은 기업에서 사용하고 있습니다레디스에 관심이 있고 시작하고 싶은 독자분들에게 공부하기 전 한 번쯤 고민해 볼 주제를 서대원 역자님께서 주셨는데요. “레디스라는 기술을 학습하고 활용하는 데 있어서 왜 레디스여야 하는지,

그리고 레디스로 무엇을 하면 좋을지를 진지하게 고민해 봤으면 좋겠습니다.”이란 질문입니다.

 

단지 유행해서 회사에서 사용해서 아니라

레디스만의 특징과 장점을 이해하고 자신의 환경에서 어떻게 적용할 수 있는지 진지하게 생각하면서 실전 레디스를 읽다 보면 레디스의 매력에 빠질 거로 생각합니다.

 

"한빛미디어 < 나는리뷰어다 > 활동을 위해서 책을 제공받아 작성된 서평입니다."

레디스(Redis)는 개발자들에게 중요한 인메모리 데이터 저장소로, 특히 빠른 데이터 접근이 필요한 웹 애플리케이션에서 많이 사용됩니다. 『실전 레디스』는 이러한 레디스를 초보자부터 고급 사용자까지 모두를 위한 종합 가이드로, 다양한 단계별로 나눠 학습할 수 있는 도서입니다.

도서의 주요 내용

1부: 기초편

레디스의 시작: 레디스의 기본 개념, 특징, 다른 데이터베이스와의 차이점 등을 다룹니다.

자료형과 기능: 레디스에서 사용하는 다섯 가지 기본 자료형과 그 활용 방법, 주요 명령어 등을 설명합니다.

레디스 서버 설치 및 설정: 우분투 22.04 환경에서 레디스 서버를 설치하고 CLI를 통해 명령어를 학습하는 방법을 안내합니다.

2부: 실전편

운용 관리: 데이터 영속성, 캐시 서버 아키텍처, 모범 사례, 설정 파일 관리, 보안, 벤치마크 등의 내용을 다룹니다.

트러블슈팅: 레디스 서버의 정보를 읽는 방법, 지연 시간 조사, 메모리 문제 해결 등의 트러블슈팅 방법을 설명합니다.

레플리케이션: 비동기 처리, 마스터/레플리카 구조, 페일오버 등의 레플리케이션 메커니즘을 다룹니다.

레디스 클러스터: 클러스터 기능, 장애 탐지, 클러스터 키워드, 설치 방법 등을 설명합니다.

메모리 관리: 메모리 관리 아키텍처, 키 만료 방법, 메모리 효율적 사용 방법 등을 다룹니다.

클라우드에서의 레디스 사용: OSS와 레디스의 차이, 클라우드 환경에서 레디스를 사용하는 방법을 설명합니다.

3부: 고급편

레디스의 구조: RESP, SDS, ae, RAX, CoW, Raft, HyperLogLog 등의 기술을 설명하고 소스 코드를 통해 레디스의 내부를 살펴봅니다.

부록: 멤케시디와의 비교를 통해 레디스의 활용과 전망을 알아봅니다.

도서의 특징

단계별 구성: 초보자부터 고급 사용자까지 모두를 위한 단계별 구성으로, 각 단계별로 필요한 내용을 체계적으로 학습할 수 있습니다.

실전 예제: 실무에서 사용할 수 있는 다양한 예제와 설정 방법을 통해 실제 프로젝트에 바로 적용할 수 있습니다.

트러블슈팅과 튜닝: 트러블슈팅과 튜닝에 관한 심도 있는 내용을 다루어 실무에서의 문제 해결 능력을 향상시킬 수 있습니다.

이 도서는 레디스를 처음 접하는 입문자부터 실무에서 레디스를 사용하는 개발자들까지 모두에게 유용한 가이드가 될 것입니다. 레디스의 기초 개념부터 고급 기능까지 포괄적으로 다루어, 이 한 권으로 레디스의 모든 것을 학습할 수 있습니다.

서비스를 개발할 때 다양한 데이터를 다루게 되면서 NoSQL에 대한 관심이 높아졌다. 스토리지라던가시 시스템으로 많이 사용되는 redis 도 자연스레 접하게 되었다.

그러나 redis를 사용하면서도 redis에 대해 깊이 알고 있지 못하는 경우가 많다. 나 역시도 redis를 사용한 경험이 있고 서비스에 구축도 해보았으나 깊게 알진 못한다.

레디스에 대해 알아보고자 이 책을 읽게 되었다.

 

책은 레디스에 대해 정말 심도 있게 다룬다.
구조부터 돌아가는 메커니즘, 사용 및 운영 과정에서 주의해야 할 사항, 장애 대응 까지.

레디스를 캐싱 시스템으로만 인식하고 익숙한 지연로딩 패턴 아키텍처를 떠올렸던 내게 견문을 넓혀준 것 같다.
스토리지라던가 다른 활용 방법 및 아키텍처, 주의사항을 알 수 있어 좋았다.

 

 

"한빛미디어 < 나는리뷰어다 > 활동을 위해서 책을 제공받아 작성된 서평입니다."

레디스의 기초부터 실전까지 한걸음씩 정복!

 

 

이 책은 레디스의 기본적인 사용법부터 시작하여, 레플리케이션, 클러스터링, 레디스의 내부구조까지 한걸음씩 실습하면서 적용해볼 수 있는 가이드 책이다. 레디스를 처음 접하거나, 아니면 레디스를 접했더라도 레디스를 어떻게 운용해야하는지 또는 레디스 내부의 구조가 어떻게 되는지에 대해서 궁금하다면 좋은 책이 될 것이다.

 

 

이 책의 절반정도는 레디스에서 사용할 수 있는 자료구조와 명령어들을 소개해준다. 직접 실습을 해볼 수 있다. 레디스의 많은 명령어 중 필요한 명령어만 담아 수록하여서 나에게 맞는 명령어를 빠르게 찾을 수 있을 것이다.

 

 

레디스를 사용하면서도 잘 몰랐던 부분을 소개해주는 부분도 마음에 들었다.

 

 

사실 레디스를 실제 운용환경에서 사용하려면 깊이 생각해볼 것이 많아. 당장 HA는 어떻게 유지할 것이며, 더 나아가 수평 확장을 하려면 어떻게 해야하는지에 대해서도 알아야 하는데, 이 책은 빠짐없이 해당 내용을 수록하였다.

 

 

기본적인 레플리케이션 방법을에 대해서 어떻게 설정하고, 레플리케이션 방법에 어떤 것들이 있는지 수록하여 나의 운용환경에 맞춰서 적용할 수 있을 것이다.

 

 

수평확장 역시 다양한 구조로 설정할 수 있고, 해당 내용들에 대해서 상세하게 설명하고 있다.

 

 

이 책은 레디스를 처음 접하거나, 접했더라고 운용을 어떻게 해야할 지, 더 나아가서 레디스의 내부구조가 어떻게 되는지가 궁금한 사람들을 위해서 필요한 책일 것이다.

Author: 하야시 소고 지음 / 서대원 옮김

출판사: 한빛미디어

Score /5: ⭐️⭐️⭐️⭐️⭐️

요즘 AWS ElastiCache 서비스와 같은 관리형 캐시 서비스를 다루면서 Redis 엔진에 대한 관심이 생겼다. 이렇게 클라우드의 관리형 서비스를 사용하는 방법을 아는것도 중요하지만 해당 솔루션(오픈소스)의 내부 사용방법을 잘 알고 있다면 이러한 서비스를 더 잘 쓸 수 있다.그런 관점에서 초보자 관점에서 내용을 이해할 수 있는 기본서가 마침 필요했는데 이 책을 접하게 되었다. 

이 책의 장점은 세심함이다. 본인이 알고 있는 내용을 단순하게 스킵하고 넘어가는 것이 아니라 본인의 아들에게 설명하듯이 차분하게 설명한다. 그럼 초보 엔지니어만을 위한 책은 아닌것 같다. Part 1의 기초를 넘어서서 Part 2 실전으로 넘어가게 되면 좀 더 실무 관점에서 접근할 수 있도록 지원한다.

전체 페이지는 부록을 제외하고 약 670여 페이지이다.
길게 느껴질수도 있지만 차분히 따라가다보면 자연스럽게 레디스를 사용하고 있는 본인을 볼 수 있을 것이다.

그리고 레디스는 현업에서 가장 많이 사용되는 솔루션 중 하나이므로 레디스를 활용하는 법은 필수로 익혀야할 지식 중 하나다.
애플리케이션을 구성하는 부분에서 레디스는 세션 스토어 또는 데이터베이스 캐시 형태로 가장 많이 사용된다.

그 지식의 채움을 이 책을 통해서 시작하는 것은 어떨까?


"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평임."

0. 들어가기에 앞서

한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.

제목 : 실전 레디스: 기초, 실전, 고급 단계별로 배우는 레디스 핵심 가이드
번역 : 서대원, 정경석(감수)
저자 : 하야시 쇼고
출판사 : 한빛미디어
초판 발행 : 2024년 5월 17일
페이지 : 704


1. 목차 및 내용

Part1. 기초

Chpater 01. 레디스의 시작

  • 레디스의 기초 및 이를 활용하는 방법에 대해 알아봅니다.

Chpater 02. 자료형과 기능

  • 레디스의 다양한 자료형을 이해하고, 실행 및 관련 명령어와 특징 등에 대해 설명합니다.

Chapter 03. 고급 기능

  • 파이프라인, 루아스크립팅, 레디스 함수, 트랜잭션 및 모듈 기능등에 대해 알아봅니다. 이는 나중에 트러블 슈팅 및 성능 향상을 위해 사용됩니다.

Chapter 04. 레디스를 활용한 애플리케이션 작성

  • 위에서 배운 자료형과 기능을 이용한 샘플 애플리케이션을 통해 학습합니다. 루비 PHP, 파이썬등을 통해 클라이언트를 설치하고 조작하게 됩니다.

Part2. 실전

Chapter 05. 레디스 운용 관리

  • 레디스 기본 지식을 갖춘 사용자나 운용중이나 효과적인 활용을 하려는 사람에게 도움이 됩니다. 레디스 서버의 아키텍처 구성 방법 및 데이터 영속성, RDBMS 등 레디스를 운용하며 고려할점을 다룹니다.

Chapter 06. 트러블슈팅

  • INFO명령어부터 트러블슈팅에 도움이 되는 명령어와 기능을 다룹니다.

Chapter 07. 레플리케이션

  • 레플리케이션에 대한 메커니즘과 기능을 배우고 실제로 동작하는 법을 다룹니다.

Chapter 08. 레디스 클러스터

  • 레디스 클러스터의 개념과 동작 원리를 자세히 배우며 안정적인 레디스 운영에 대해 알아봅니다.

Chapter 09. 메모리 관리

  • 레디스 메모리 관리 메커니즘과 주의할점, 효율적인 메모리 사용을 위한 핵심을 설명합니다.

Chapter 10. 클라우드에서 사용하는 레디스

  • OSS 레디스와 클라우드에서의 이용 방법 및 트러블슈팅 진행 방법을 설명합니다.

Part3. 고급

Chapter 11. 레디스의 구조

  • 레디스와 관련된 기술을 탐색하고, 소스코드를 통해 다양한 관점에서 레디스를 분석합니다.

2. 서평

책의 길이가 704 페이지이며 레디스의 대한 전반적인 내용을 다루고 있습니다. 그래서 레디스를 사용하지 않은 독자부터, 레디스를 더 알아보고 활용하고 싶은 분들에게도 유용한 책입니다.
다만 길이가 길고 모든 부분을 다 읽어볼 필요가 없기 떄문에 필요한 부분을 발췌독 해보시는걸 추천합니다.

실제 애플리케이션에 연동하고 아키텍처를 구성하는 방법도 나와있으니 천천히 학습하시면서 다양한 공부를 병행 해 보는 것을 추천합니다.

책이 굉장히 두껍기도 하고 내용이 많다. 그래도 친절하게 설명되어 있다는 느낌을 받았다. 환경구축부터 어려운 개념까지 차근차근 익혀가기 좋게 만든 책이다. 개발을 하다보면 레디스는 많은 서비스에서 다양한 방법으로 사용하고 있다. 이러한 상황에서 레디스를 사용해보고 싶거나, 더 잘 사용하고 싶은 사람들이라면 이 책을 추천한다.

이 책은 레디스 초보자와 숙련된 사용자 모두를 위해 설계된 포괄적인 가이드북입니다. 
파트 1은 레디시의 기초를 다루고요.
파트 2에서는 실전으로 넘어가 레디시를 운용 관리하는 방법을 설명합니다.
파트 3에서는 고급 단계로 레디스의 구조를 다뤄 좀 더 전문적인 부분으로 넘어갈 수 있도록 구성이 되어 있습니다.

레디스의 특징은 무엇보다 초기 접근성이 쉽고 서비스를 구성하는데 크게 문제가 없지만 사용하면서 운영하면서 난감한 일을 겪게 되기도 한다고 해요.
그런데 이런 문제에 대해 가이드를 제공해 주는 책이 별로 없었는데요.
이 책의 발간으로 레퍼런스처럼 사용될 수 있는 책이 나왔다고 생각합니다.
 

이번에 리뷰할 서적은 한빛미디어에서 출판된 "기초, 실전, 고급 단계별로 배우는 레디스 핵심 가이드 실전 레디스" 입니다.
이 책의 목차부터 레디스(Redis)에 대한 포괄적인 안내서임을 보여줍니다. 
각 장과 하위 섹션을 통해 레디스를 처음 접하는 사람부터 고급 사용자까지 모두를 대상으로 하고 있습니다. 
아래는 각 쳅터의 주요 내용을 간략하게 정리한 것입니다.

CHAPTER 01: 레디스의 시작
1.레디스를 사용하기까지: 레디스 설치와 초기 설정 방법에 대한 개요입니다.
2.레디스의 특징: 다른 데이터베이스와 비교하여 레디스의 특징과 장점을 설명하고, 다양한 활용 사례를 제시합니다. 
3.레디스 서버 설정: 우분투 및 소스코드를 통해 레디스를 설치하는 방법을 다룹니다.
4.레디스 동작 테스트: 레디스 서버와 클라이언트의 기본 사용법을 소개합니다.
5.레디스 문서와 공식 리소스: 레디스 자료형과 공식 리소스를 참조하여 학습할 수 있도록 안내합니다.

CHAPTER 02: 자료형과 기능
1.자료형과 기능 개요: 레디스의 주요 자료형과 보조 자료형을 소개합니다.
2.String형, List형, Hash형, Set형, Sorted Set형: 각 자료형의 활용 방법과 주요 명령어를 설명하며, 실행 예시를 통해 실습을 지원합니다.
3.기타 기능: 비트맵, 지리적 공간 인덱스, Pub/Sub, HyperLogLog 등 레디스의 특수 기능을 다룹니다.

CHAPTER 03: 고급 기능
1.파이프라인, 루아, 트랜잭션: 레디스의 고급 기능을 설명합니다.
2.모듈, 키 공간 알림, 클라이언트 측 캐싱: 모듈과 관련된 기능을 심층적으로 다룹니다.

CHAPTER 04: 레디스를 활용한 애플리케이션 작성
1.다양한 언어 지원: PHP, 루비, 파이썬 등 다양한 프로그래밍 언어에서 레디스를 사용하는 방법을 소개합니다.
2.실제 애플리케이션 예제: 세션 캐시 관리, 뉴스 게시 기능, 투표 관리, 실시간 채팅 등 실제 애플리케이션 예제를 통해 실무 적용 방법을 설명합니다.

PART 02: 실전
CHAPTER 05: 레디스 운용 관리
1.데이터 영속성: 스냅숏과 AOF를 비교하고, 데이터 삭제 패턴 등을 설명합니다.
2.캐시 서버 아키텍처: 읽기/쓰기 관점 아키텍처와 데이터 저장소로서의 레디스 아키텍처를 다룹니다.
3.모범 사례: TTL 설정, 제거 정책, 백업, 커넥션 풀링, 재시도 처리 등 다양한 모범 사례를 제시합니다.
4.보안: 보안 설정 및 ACL 기능을 설명합니다.

CHAPTER 06: 트러블슈팅
1.INFO 명령어, 지연 시간 조사: 서버 정보 읽기와 지연 시간 모니터링을 다룹니다.
2.메모리 문제: 메모리 관리 문제를 해결하는 방법을 설명합니다.

CHAPTER 07: 레플리케이션
1.레플리케이션 기능: 비동기 처리, 레플리카 연결 방법, 마이그레이션 활용 등을 다룹니다.
2.레플리케이션 메커니즘: 전체 동기화와 부분 동기화 등 동작 원리를 설명합니다.

CHAPTER 08: 레디스 클러스터
1.레디스 클러스터 기능 개요: 클러스터의 장점과 동작 메커니즘을 다룹니다.
2.장애 탐지와 클러스터 명령어: 장애 탐지 메커니즘, 레플리카 선출, 클러스터 관련 명령어를 설명합니다.

CHAPTER 09: 메모리 관리
1.메모리 관리 아키텍처: 클라이언트 출력 버퍼와 키 만료 방법을 설명합니다.
2.효율적인 메모리 사용 방법: 동적 리해싱과 단편화 제거 등을 다룹니다.

CHAPTER 10: 클라우드에서 사용하는 레디스
1.OSS와 레디스의 차이: 고유 기능과 제한 사항을 설명합니다.
2.클라우드 활용: 클라우드에서 레디스를 사용하는 방법과 모니터링 및 유지보수 주의사항을 다룹니다.

PART 03: 고급
CHAPTER 11: 레디스의 구조
1.레디스 관련 기술: RESP, SDS, ae, RAX, CoW, Raft, HyperLogLog 등 레디스의 내부 기술을 설명합니다.
2.소스코드 분석: 레디스의 소스코드를 통해 내부 구조와 동작 원리를 분석합니다.

APPENDIX A: 레디스 계속해서 활용하기
1.멤케시디와의 기능 및 동작 비교: 레디스와 멤케시디의 차이를 비교 설명합니다.
2.앞으로의 레디스: 향후 레디스의 발전 방향과 기능 강화를 설명합니다.

종합 평가
이 책은 레디스에 대한 기초적인 소개부터 고급 기능, 실무 적용, 클라우드 활용, 
트러블슈팅, 레플리케이션, 클러스터 구성, 메모리 관리, 내부 구조 분석까지 포괄적인 내용을 다룹니다. 
또한, 다양한 프로그래밍 언어를 지원하며, 실제 애플리케이션 작성 예제를 통해 실무에 바로 적용할 수 있도록 돕습니다. 
레디스를 처음 접하는 사람뿐만 아니라, 이미 사용 중인 사용자도 깊이 있는 학습을 할 수 있는 훌륭한 자료입니다.

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

 

 실전 레디스는 레디스에 대한 기초 지식부터 실무, 고급 지식을 다루고 있다. 부쩍 레디스 활용이 늘어나고 있는 가운데, 레디스를 사용하고자 하는 이들에게 이론과 실제 활용 사례를 설명한다. 레디스를 사용하는 환경과 이유에 대해서도 세세히 설명하기 때문에 다른 DBMS(RDBMS, 멤케시디 등)와의 차별점과 특성을 뚜렷이 파악할 수 있다.


저자 하야시 쇼고는 아래와 같은 유형에 속하는 이들이 이 책을 읽기에 적합하다고 보았다.

1) 레디스 도입을 고려하고 있지만, 실제 애플리케이션에는 아직 적용하지 않은 사람
2) 이미 레디스를 도입하여 애플리케이션 코드를 작성하고 있지만, 레디스를 제대로 활용하지 못하는 사람

레디스의 기초부터 실무까지 다루기 때문에 주요 독자 대상이 포괄적이다.


 책은 3부 11장으로 구성되어 있다. 레디스를 처음 접한 이들이라면 기초 파트인 1부를 통해 개념과 기초를 확실히 다질 수 있다. 2부부터는 실전 상황에서의 지식을 다룬다. 이미 레디스를 사용하고 있거나 제대로 활용하지 못하는 이들을 주요 대상으로 한다. 3부 고급 파트에서는 기초와 실전을 넘어 레디스를 깊이 이해할 수 있도록 돕는다. 다양한 Use Case에서 적용할 수 있는 지식 또한 담겨있어 완성도 높게 습득하는데 좋을 것 같다.

 

레디스의 가장 큰 특징은 속도가 빠르고, 자료형이 풍부해서 다양하게 활용할 수 있고, 인메모리 데이터베이스이면서 동시에 많은 기능을 갖췄다는 점입니다.
29쪽, 실전 레디스.


 레디스는 처리 속도가 굉장히 뛰어난 인메모리 데이터베이스 기반이기 때문에 고속 메모리에서 처리를 수행하거나 메모리 사용량을 최소화하는 등의 기술에 특화되어 있다. RDBMS보다 빠른 속도를 자랑하므로 빠른 응답이나 실시간 데이터 교환이 중요한 웹 애플리케이션에서 많이 활용되고 있다.

 

 RDBMS와 레디스를 조합하여 사용하는 사례도 많다. RDBMS를 통해 모든 데이터를 저장하고 읽고 쓰는 경우 DBMS가 점점 무거워지는 문제가 발생할 수 있다. 이런 상황에서 레디스를 활용하면 RDBMS를 사용했을 때에 대비하여 문제를 완화하고 효율성을 높이는데 도움이 될 수 있다. RDBMS에서 처리 성능의 병목 현상을 해결하거나 다양한 자료형과 기능을 사용해야 하는 경우 레디스를 사용하는 것이 더욱 유용하다. 실제로 레디스의 최초 개발자인 살바토레의 사례도 있다. 살바토레는 MySQL 기반의 실시간 웹사이트 분석 애플리케이션 서비스를 운영하고 있었는데 사용자가 대폭 증가함에 따라 처리 부하를 감당할 수 없었다. 그때 레디스를 처음 개발하여 서비스에 도입한 결과, MySQL 병목 현상을 해결할 수 있었다고 한다.

 

 한편, 레디스는 SQL을 사용할 수 없거나 트랜잭션 처리 기능이 제한될 수 있다는 단점도 있다. 레디스가 무조건적으로 RDBMS보다 뛰어난 것이 아니기 때문에 상황에 맞게 적절히 사용하는 것이 중요한 이유다.

 

 레디스는 같은 KVS에 속하는 멤케시디와도 종종 비교되곤 한다. 멤케시디는 레디스와 용도가 거의 흡사하지만 기능이 훨씬 간단하다. RDBMS의 쿼리 처리 결과를 저장하는 등 캐시를 목적으로 많이 사용되고 레디스보다 쉽게 사용할 수 있는 것이 특징이다. 고로 저자는 복잡한 데이터 모델의 경우 레디스를 활용하고 단순 캐시 용도의 경우 레디스와 멤케시디를 적절하게 사용하길 추천했다.

 

 레디스와 RDBMS, 멤케시디 간의 비교를 통해 레디스의 특성뿐만 아니라 데이터 아키텍처에 대해 고민해볼 수 있었다. 이후, 우분투에서 레디스를 설치하여 환경을 구축해나간다. 레디스에서는 String형, List형, Hash형, Set형, Stored Set형 등의 자료형을 사용할 수 있다. 개념을 이해하고 난 뒤에는 각 자료형에 대한 설명과 더불어 자료형별 주요 명령어를 습득할 수 있다.

2부에서는 레디스 운용 관리, 트러블 슈팅 등 실전에서 꼭 필요한 지식들로 구성되어 있다. 이미 레디스를 사용하고 있는 유저에게 더욱 도움이 될 것이라 생각된다(1부부터 넘어왔다면 사용하고 있는 유저가 된다). 마지막장인 3부에서는 레디스와 관련된 용어 및 기술을 설명한다. 가령, 레디스에서 독자적으로 확장한 라이브러리(RESP, SDS, ae, RAX 등)이 있다. 각 용어에 대한 정의를 내리고 난 뒤에는 2부와 마찬가지로 실습을 수행한다.

 

 

< 종합 평가 >
실전 레디스는 국내에 몇 없는 레디스 책으로 정평이 나있다. 그 명성에 걸맞게도 레디스에 대한 핵심적인 정보가 담겨있었다. 기초부터 실전까지 폭넓게 다루었지만 때로는 실전보다도 정의에 더욱 초점을 맞추기도 했다. 덕분에 아키텍처 관점에서 고민해볼 수 있어 흥미로웠다. 책의 또 다른 특징으로는 간혹 칼럼이 등장한다는 것이다. 주로 정보성 글이 많았지만 때로는 흥미를 이끄는 글들도 있었다. 레디스를 처음 접한 이들에게는 이러한 칼럼으로 흥미와 정보를 함께 얻어갈 수 있을 것 같다. 레디스를 처음 접하는 이와 실무 실력이 아직 미약한 이들에게 레디스의 교본으로 추천할만한 책이다.

 

 

 

 

"한빛미디어 < 나는리뷰어다 > 활동을 위해서 책을 제공받아 작성된 서평입니다."

[1년 전에 이 책이 있었더라면]
약 7개월 전, RDBMS의 쿼리를 최소화하기 위한 목적으로 자체 캐싱 서버 구축 프로젝트에 참여했다.
Spring 프레임워크에서 Lettuce 라이브러리를 통해 Read-Through 및 Write-Through 방식으로 구현했고, 특정 키 패턴에 대해 동적으로 TTL을 수정할 수 있도록 하는 동시에, 한정된 메모리 내 LRU 방식으로 Cache Evict 전략을 구성했다.

다 끝난 뒤에 돌이켜보면, 그다지 특별하지 않은 일반적인 패턴이라 생각하지만, 당시에는 수많은 정보의 흐름 속에 무엇이 적합한지 따져보느라 시간을 많이 소요했던 것 같다. 만약 이러한 책이 당시에 있었다면, 입문부터 다양한 응용까지 큰 도움을 받았을 것 같다.

[책의 구성]
이 책의 구성은 크게 "기초 > 실전 > 고급" 단계로 나뉜다.

| <기초> 파트를 요약하자면, 모든 내용들이 처음 입문하는 이들에게 필요한 내용과 필요한 정도의 깊이로 제공된다.
| 처음부터 끝까지 정독하는 것을 추천한다.

기초 단계에서는 각 자료형의 특징과 각 명령어에 대해 간단히 소개한다.
물론 명령어에 대한 검색 기능은 공식 사이트에서도 지원한다. 하지만 명령어 이름으로만 검색이 가능하기 때문에, 기능과 시간 복잡도를 가볍게 훑어볼 수 있는 점은 입문에 큰 도움이 된다고 생각한다.

가벼운 팁 느낌으로 키 명명법이나 각 자료형을 사용할 때의 주의사항을 소개한다. 또한 처음에는 발견하기 어려운 HyperLogLog 등의 유용한 확률적 자료구조도, 도식을 통한 간단한 설명과 함께 설명한다.
일반적인 프로그래밍 언어에서의 자료구조 및 동작과 차이가 있으므로 입문에 큰 도움이 되리라 생각한다.

RTT 및 지연 시간을 감소시키기 위한 고급 기능과 실제 웹 어플리케이션 구성 예제도 소개하는데, 응용의 깊이는 다소 얕다.
하지만 생소하다면 언제 어떤 방법을 사용하는 것이 좋은지에 대한 청사진 제공한다는 측면에서 역시 입문에 필요하다.

| <실전> 파트를 요약하자면, 운영 단계에서 필수적인 기본 내용을 담고 있다.
| 각 주제에 대한 깊이는 얕지만, 언제 무엇을 어떻게 하면 될지, 방향성을 제시한다.

실전 단계에서는 시스템 구조적으로 성능을 개선하고, 문제를 식별하는 트러블 슈팅 요령을 소개한다.
데이터 삭제 패턴, 캐시 전략과 같은 간단한 팁에서부터
redis.conf, 로깅, 모니터링, 성능 측정, 분산 및 클라우드 환경에서의 운용 등까지 다양한 주제를 가볍게 다룬다.

다소 아쉬운 점은 실습 과정이 plaintext라 가독성이 좋지 않다.
이 부분은 n회독을 수행하며 자체적으로 필기를 하면 도움이 될 것 같다.

| <고급>  파트는  RESP, SDS, ae, RAX, COW, Raft, HyperLogLog 등 Redis를 구성하는 기술 및 이론을 소개한다.
| Redis 소스 수준에서의 이야기를 다루므로 github.com/redis 를 참고하는 것도 좋을 것 같다.

책 끝에 있는 INDEX도 명령어별 활용되는 지점을 매우 자세하게 기록해두어, 특정 명령어의 다양한 용례를 확인해보기 좋다.

[총평: 레거시 캐싱 서버의 유지보수를 처음 담당하게 된 이들의 필독서]
자료형의 특장단점부터 각 명령어의 간략한 소개까지 당장 알아야 하는 내용을 통해 Redis를 빠르게 이해할 수 있다.
deprecated 명령 및 버전 별 Breaking Change에 대해서도 명시하기 때문에, 오래된 버전을 최신과 호환되도록 보수해야 하는 경우에도 도움이 될 것 같다.
내용이 많으므로 끝까지 한 번 정독하는 것보다, 필요한 내용 위주로 강조 표시하며 N회독하는 것이 좋아보인다.

한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.

최근에 레디스(Redis)책이 출간되었습니다.

현업에서 많이 사용하고, 오래동안 다양한 서비스에서 활용도가 높은 오픈소스인데, 책은 생각보다 출간된것이 적습니다.

그래서 최근의 버전업된 내용 및 기초 및 고급내용도 설명하는 책이 필요했는데, 그런 점에서 "실전 레디스" 출간 소식은

매우 반가운 것 같습니다.


이책을 번역하신 서대원 역자님은 2013년에 "이것이 레디스다" 책을 집필하신 분이십니다.

실제 레디스 사용하신 저자분께서 이 책을 번역하신 것은 매우 좋은 조합이라고 생각합니다.
책의 번역 쿼릴티도 매우 좋을것이기 때문입니다.

 

책의 두께는 매우 두껍습니다. 총 700Page로 구성되어 있습니다.

 

 

 

 

 

책의 대상 독자는 레디스를 처음 사용하려는 독자 및 현재 사용중인 현업을 모두 포함한 전체를 대상으로 합니다.

책의 구성이 총 3단계로 되어 있는데, 1부 기초, 2부 실전, 3부 고급으로 구성되어 있어서

필요한 부분을 바로바로 보시면 좋을것 같습니다.


 

■ 1부 기초

· 처음 Redis를 사용하려고 하는 경우, 가장 많이 사용하는 RDBMS와 어떠한 부분이 구체적으로 다른지 상세하게 설명합니다.

RDBMS의 ACID특성에 대해서 원자성/일관성/격리성/영속성에 대해서 Redis를 통해서 어떻게 보장을 할지에 대한 부분은
물론 100% 동일하게 해당 ACID특성이 보장되는 것은 아니지만, 처음 도입을 고려할때 중요한 참고 자료가 됩니다.  (p.43)
 

· 설치 관련
사용을 위해서는 도커를 이용하는 방법등 다양하게 있지만, 책에서는 ubuntu에서 설치하는 방법과 소스코드를 통해서 설치하는 방법
2가지를 예로 들어서 설명합니다. 레디스를 처음 설치하고 처음 redis-cli를 통해서 정보를 입력하는 것은 쉽게 구성할수 있습니다.
 

· 자료형과 기능
레디스를 자유롭게 잘 사용하기 위해서는, 해당 내용이 매우 중요하고 기초가 됩니다.

String, List, Hash, Set,  Sorted Set형에 주요 자료형 및 보조 자료형(비트밉, 지리적 공간 인덱스)에 대해서 자세히 설명을 합니다.

· Pub/Sub모델에 대해서, Redis에서는 자료형이 아니고 기능 형태로 제공합니다.

   - HyperLogLog기능을 이용해서 고유한 수를 계산하는 방식에 활용가능합니다.

· Redis스트림 : 스트림 작업이 가능하고 채팅등에서 활용 가능합니다.

· 루아

lua는 프로그래밍 언어입니다. 레디스는 내장 스크립트 언어로 루아를 채택하고 있습니다.

레디스 명령어로 처리하기 어려운 부분에 대해서 루아를 통해서 빠르게 비지니스 로직을 작성해서, 쉽게 구현이 가능합니다.

레디스 7.0 버전 이후 부터는 레디스 함수의 기능을 통해서 기존에 개발된 사항을 재사용이 가능하게 되었습니다.

루아도 언어수준으로 다양하게 제공되는 라이브러리들이 있습니다.

 

 

 

· 트랜잭션에 대한 실습 및 레디스 4.0 부터 제공되는 다양한 모듈에 대한 사용법에 대해서 살펴볼수 있습니다.

· 우리는 레디스를 다양한 언어에서 사용이 필요합니다.
지금 거의 모든 언어에 대해서 지원한다고 보시면 됩니다. 
 

 

 

 

· 간단한 어플리케이션 작업

 - PHP+MySQL 를 통한 세션정보 캐시 관리 기능 / List형을 사용한 뉴스 게시 기능

 - Python을 이용한 레디스 스트림을 사용한 실시간 채팅 구현 기능

이러한 구현 샘플을 동작해보면서, 우리가 활용할수 있는 범위를 간접적으로 확인 및 테스트 해볼수 있어서 좋습니다.

 

■ 2부 실전

· 2부에서는 조금 더 다양하게, 운영시 발생할수 있는 경우에 케이스에 대해서 내용구성이 되어 있습니다.
레디스 운영 관리 / 트러블슈팅 / 레플리케이션 / 레디스 클러스터 / 메모리 관리 / 클라우드에서 사용하는 레디스

해당 내용을 미리 알고 최초 서비스에 적용시에는 운영중에 발생 할 수 있는 Risk를 조금이라도 줄일수 있어서

관련 내용도, 어떠한 고려사항이 있는지 인지하고 있어야 합니다.

 

· 데이터 영속성 관련

스냅숏, AOF 2가지 방식으로 어떻게 동작하고 장단점을 소개합니다.

이 부분은 어떠한 시점으로 데이타를 복원할지 여부등에 대한 구성을 할수 있는 내용입니다.

· 캐시 서버

보통 Redis를 캐시역활로 활용합니다. 메모리를 이용한 빠를 처리가 필요한 부분에 대한 기능입니다.

읽기 관점 아키텍처, 모범사례, 사용하면 안좋은 패턴등 단순하게 값을 넣고 빼고 사용하는것보다 

서비스 운영에 필요한 노크 크기 설정, 크기, 설정 redis.conf 각각의 옵션에 대해서 잘 설명되어 집니다.

보안에 대한 부분도 외부에서 접속이 불가능한 설정은 매우 중요합니다.

 

· 트러블슈팅

Redis에 문제가 있는 경우, 우리는 무엇을 가장 먼저 봐야 할까요?

어떠한 명령어로 우리가 보고 싶은 장애 사항에 대한 정보를 확인할수 있을까요?

-INFO 명령어를 통해서 Server, Clients, Memory, Persistence, Stat, CPU부분 등등 어떠한 내용이 중요한지 표시됩니다.

 

· 레플리케이션 관련

트래픽아 많이지면, Redis서버를 늘려야 하고, 해당 아키텍처를 구성해야 합니다.

여러대의 서버를 독자분이 테스트하기는 쉽지 않기 때문에 도커 컴포넌트를 이용해서 여려대의 서버를 

구성하는 실습구성을 진행합니다. 그것도 연결되어서 레디스 클러스터에 대한 구성도 설명됩니다.

 

· 3부 고급 부분에서는 레디스 관련 기술을 찾아보고, 소스코드를 통해서 여러관점으로 동작방식을 소개합니다.
 

레디스를 이용한 기술들(RESP, SD, ae, RAX)등에 대해서 내용구성이 되어 있고

오픈소스이기 때문에 실제 코드를 통해서, 레디스를 잘 사용하기 위한 정보를 제공합니다.

부록 부분도 멤캐쉬드에 대한 내용도 다루고 있습니다.

레디스 입문자와 운용자 모두를 위한 참고서

레디스 입문자와 중급 수준의 운용자 두 집단 모두에게 이 책은 유용하다.

물론, 개인의 상황에 따라서 1부의 기본 내용은 이미 익숙하고 2부의 내용이 더 중요하게 다가올 수 있고, 반대로 1부의 내용도 소화하기 어려운 사람이 있어서 책의 모든 내용이 도움이 된다고 할 수는 없다. 하지만, 실전에 있어서 필요한 내용이 있을 때 찾아보기 좋은 책이며, 레플리케이션이나 클러스터와 같은 내용을 다시 한번 정립해야 할 때도 살펴볼 수 있는 참고서의 역할을 충분히 해낼 수 있는 책이라고 생각한다.

 

친절한 설명

어떠한 내용도 그냥 이야기하고 넘어가지 않는다.

명령어와 그 실행 결과를 상세히 보여주고, CRC 같은 용어를 모르는 사람을 위해서 친절한 설명을 해주고, 아키텍처나 패턴 등에 대해서 친절한 예시 그림을 제공하고 있어서 이해하기 쉽게 해준다. 중급자까지 활용할 수 있는 참고서의 느낌인데 친절함은 입문서에 가까워서 내용을 빠르게 파악하는데 큰 도움이 될 것 같다.

 

요약

  • 책 이름대로 레디스 기초부터 실전까지 필요한 내용을 전부 담은 가이드북
  • 레디스에 대한 이해를 높이고, 실전성을 키우려는 사람들에게 참고서로 추천한다.


한빛미디어 서평단 <나는리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.

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

안녕하세요. 율리시스SS입니다.
오늘은 NoSQL 그중에서 레디스에 대해서 배우는 도서, 실전 레디스 입니다.
여러분이 개발자면 MySQL, MSSQL, MariaDB 등 RDBMS를 많이 사용하실텐데요. NoSQL이 뭔지, 그중 레디스가 뭔지에 대해서 자세히 배울 수 있는 도서입니다. 
또한 더 나아가서 입문자 뿐만 아니라 실무에서 사용하고 있고 튜닝까지 생각하고 계시다면 실전 레디스 책을 추천드립니다.

 

■ 실전 레디스

실전 레디스 도서 입니다.
저는 개발서적을 볼 때 Target이 누군지에 대해서 먼저 보는데요. 해당 도서는 처음 입문자 부터 뒤에는 실전과 고급 내용까지 실무에서의 튜닝까지도 다루고 있습니다. 600장 이상의 페이지, 레디스 한권으로 실무를 하시는 분들도 읽어도 되는 도서라고 생각됩니다.

제가 NoSQL을 실무에서 완벽히 사용해보지는 않았습니다. 하지만 뭔지는 알고 있고 JWT인증 관련 사용해본적도 있는데요.

일반적인 간단한 레디스 사용법뿐만 아니라 데이터가 수백만 그 이상까지 있을 때의 속도측면에서의 튜닝도 다루고 있는 도서입니다.

1부에서는 레디스의 기초편으로 레디스의 사직, 자료형등을 알려주며
2부에서는 레디스의 실전편으로 레디스를 관리하는 방법, 트러블 슈딩, 메모리 등 매우 자세한 레디스 학습을 하게 됩니다.
3부에서는 고급편으로 레디스 관련 기술과 정의에 대한 내용이 있습니다. 3부는 개인적으로 어려워서 이런게 있구나 할 정도로 넘어갔습니다.


도서에서는 레디스에 대해서 입문자 그리고 간단하게만 사용하실분은 1부정도로, 그 이상 레디스를 전문적으로 사용하시는 분들은 2,3부까지 읽으면 좋다고 합니다.

 

 

 

 

실전 레디스 도서에서는 우분투 22.04와 함께 레디스 서버를 설치하면서 시작합니다.

레디스 서버를 설치해서 cli로 접속 후 명령어로 학습을 하게 되는데요. 중간중간 책을 읽다보면 트러블 슈딩 관련 얘기도 많기 때문에 입문자를 생각해서 도서를 집필했다는게 느껴졌습니다.

또한 레디스 관련 공식 문서에 대한 참조를 많이 합니다. 자세한 설명, URL등이 도서에 함께 적혀 있기 때문에 참고하면 좋을것같네요.

 

 

 

 

제가 Spring Boot와 함께 JWT를 사용하면서 Redis에 대해서 실제 프로젝트에 적용을 해보았는데요.
JWT같은 경우 간단하게 설정이 되면 끝이여서 쉬웠는데 Redis의 도서를 읽고 정말 다양한 설정이 가능하다라고 생각했습니다.


솔직히 1부까지는 읽기가 쉬웠고 학습하기도 좋았는데 2부부터 책의 난이도가 많이 올라갑니다. 제가 설정하고 사용했던 방식에서
더욱더 난이도높은 설정에 튜닝까지 다루고 있는데요.
Redis에 대해서 실제로 실무에서 사용하면서 데이터가 많아서 튜닝이 필요한 분들은 개인적으로 꼭 읽어보셨으면 하는 도서입니다.


특히나 튜닝, 트러블 슈팅에 대해서 많은 얘기가 적혀 있으며 최근 들어 읽은 개발책 중에서 이렇게 심도있게 집필한책은
오랜만이였습니다. Redis에 대해 이 책 한권이면 다른 도서는 읽지 않아도 되지 않을까 하는 생각입니다.

 

 

한빛미디어 < 나는리뷰어다 > 활동을 위해서 책을 제공받아 작성된 서평입니다.

 

레디스(Redis)는 전 세계적으로 가장 널리 사용되는 NoSQL 인메모리 데이터 저장소임에도 불구하고, 국내에서는 관련 도서의 양이 절대적으로 부족한 실정이다. 이는 레디스의 초기 접근성이 매우 용이하고, 기본적인 활용만으로도 서비스 구성에 큰 문제가 없기 때문일 것이다. 하지만 이는 레디스의 진정한 잠재력을 충분히 활용하지 못하게 하는 요인이 될 수 있다.

 

이러한 배경에서, 본 도서는 레디스의 기초부터 실무 활용까지 폭넓게 다루며, 웹서비스 애플리케이션 개발자나 데이터베이스 관리자를 주요 독자층으로 삼고 있다.

 

레디스는 인메모리형 데이터 구조를 채택하고 있어 처리 속도가 매우 빠르면서도 영속성을 갖추고 있다. 또한 String, List, Hash, Set, Sorted Set 등 다양한 자료형을 지원하여 데이터 표현력이 뛰어나며, 많은 프로그래밍 언어의 자료구조와 유사성을 가지고 있어 개발자들에게 친숙하다.

 

레디스의 강점은 여기서 그치지 않는다. 레플리케이션, 클러스터링 등 고급 기능을 제공하여 높은 성능과 확장성을 보장하면서도, 설정이 간단하고 사용이 쉽다는 장점이 있다. 이러한 특징들로 인해 레디스는 현재 대규모 서비스부터 소규모 프로젝트에 이르기까지 폭넓게 활용되고 있다.

 

본 도서는 이러한 레디스의 다양한 측면을 상세히 다루고 있으며, 초보자부터 중급자까지 모두에게 유익한 내용으로 구성되어 있다. 책은 크게 1부 기초, 2부 실전, 3부 고급으로 나뉘어 있어, 독자의 수준과 필요에 따라 선택적으로 학습할 수 있다. 레디스를 처음 접하는 분들은 1부를, 실제 사용 중이지만 더 효과적인 활용법이나 문제 해결 방법을 찾는 분들은 2부를, 그리고 레디스를 더 깊이 이해하고자 하는 분들은 3부를 중점적으로 살펴보면 된다.

 

레디스는 10년 이상의 역사를 가진 성숙한 기술이지만, 여전히 활발한 개발이 진행 중이다. 최근 레디스 6에서는 ACL과 TLS 기능 등 중요한 보안 기능이 추가되었고, 2022년에 공개된 레디스 7에서는 레디스 함수, Sharded Pub/Sub, 강화된 ACL 및 AOF 기능, 그리고 50개 이상의 새로운 명령어가 도입되었다. 이러한 지속적인 발전은 레디스가 앞으로도 계속해서 혁신을 이어갈 것임을 보여준다.

 

결론적으로, 이 책은 레디스의 초보자부터 숙련자까지 다양한 독자층을 고려하여 작성되었다. 독자들은 이 책을 통해 레디스의 매력을 경험하고, 실전에서 레디스를 효과적으로 활용할 수 있는 귀중한 지식을 얻게 될 것이다. 레디스의 기본 개념부터 고급 기능까지 체계적으로 학습함으로써, 독자들은 자신의 프로젝트나 업무에서 레디스의 잠재력을 최대한 발휘할 수 있는 능력을 갖추게 될 것이다.

 

"한빛미디어 < 나는리뷰어다 > 활동을 위해서 책을 제공받아 작성된 서평입니다."

레디스 책이 많지 않은데 최신 버전의 레디스를 다루고 있으며 국내 레디스 저서 저자가 직접 번역 작업한 서적으로 기술의 이해도가 높아 번역 품질이 매우 높음

레디스의 기초부터 고급 기술까지 익힐 수 있으며 레디스를 활용한 어플리케이션 개발 까지 다루고 있으므로 초보자가 레디스를 익히기에도 매우 좋고 레디스 운용 관리에도 좋은 내용들이 많으므로 참고하기 좋다 

총평

- 책의 난이도 : ★★★★

- 추천 별점     : ★★★★

- 추천 독자     :  레디스를 사용 중이거나 도입을 고려하고 있는 사람

- 지은이         : 하야시 쇼고 지음 / 서대원 옮김 / 정경석 감수

- 출판사          : 한빛미디어

 


우리가 인메모리 DB로는 레디스를 많이 사용하게 됩니다.

AWS에서는 Elasticache 서비스에서 레디스를 접할 수 있습니다.

이 책은 레디스의 A부터 Z까지 운영에 대한 가이드와 인사이트를 얻을 수 있는 책으로 추천합니다.

국내 저자가 쓴 것으로는 <이것이 레디스다>도 같이 참고하시는 것도 좋을 것 같네요.

 

각 챕터별 내용

1부 기초

1장 레디스의 시작에서는 레디스의 특징이나 개요에 대해서 알아봅니다.

2장 자료형과 기능에서는 레디스에서 사용하는 자료형의 특징과 유스케이스 및 명령어를 알아봅니다.

3장 고급기능에서는 파이프라인, 함수, 트랜잭션 등 기능을 소개합니다.

4장 레디스를 활용한 애플리케이션 작성에서는 실제로 레디스가 어떻게 사용되는지 알아볼 수 있도록 샘플 애플리케이션을 소개합니다.

 

2부 실전

5장 레디스 운용 관리에서는 레디스를 운용하면서 알아둬야 할 점을 설명합니다.

6장 트러블슈팅에서는 INFO 명령어부터 트러블슈팅에 도움되는 명령어와 기능을 알아봅니다.

7장 레플리케이션에서는 레플리카를 어떻게 운영할지에 대한 매커니즘을 알아봅니다.

8장 레디스 클러스터에서는 실제로 동작을 확인해봅니다.

9장 메모리 관리에서는 레디스의 메모리 관리 메커니즘을 알아보고 효율적인 관리 방법을 알아봅니다.

10장 클라우드에서 사용하는 레디스에서는 OSS에서의 레디스와 클라우드의 레디스의 차이나 이용 방법 등을 확인합니다.

 

3부 고급

11장 레디스의 구조에서는 레디스와 관련된 기술과 소스코드를 통해 레디스를 알아봅니다.

 

실질적으로 핵심이되는 부분은 6장, 8장, 9장, 10장의 내용들입니다.

 

6장에서는 실질적으로 레디스를 운영하는데 있어서 발생할 수 있는 트러블 슈팅 상황과 이를 해결하고 분석하기 위한 해결책을 제시합니다.

 

 

 

8장에서는 레디스 클러스터의 동작방식을 알아보면서 클러스터 페일오버 이벤트를 발생해 어떻게 이게 동작하는지 알아볼 수 있습니다.

 

 

 

9장에서는 레디스에서 가장 중요한 메모리가 어떻게 관리되고 어떻게 하면 효율적으로 활용할 수 있을지 알아볼 수 있습니다.

 

 

 

 

이상으로 도서 리뷰를 마치겠습니다.

 

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

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

배송료 안내

  • 20,000원 이상 구매시 도서 배송 무료
  • 브론즈, 실버, 골드회원이 주문하신 경우 무료배송

무료배송 상품을 포함하여 주문하신 경우에는 구매금액에 관계없이 무료로 배송해 드립니다.

닫기

리뷰쓰기

닫기
* 도서명 :
실전 레디스
* 제목 :
* 별점평가
* 내용 :

* 리뷰 작성시 유의사항

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

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

오탈자 등록

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

도서 인증

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

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

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

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

닫기

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

자료실

최근 본 책0