高效使用Redis:一書學透數據存儲與高可用集群

熊浩含//陳雷//黃桃//李樂//施洪寶等

  • 出版商: 機械工業
  • 出版日期: 2024-01-01
  • 售價: $534
  • 貴賓價: 9.5$507
  • 語言: 簡體中文
  • 頁數: 216
  • 裝訂: 平裝
  • ISBN: 7111740122
  • ISBN-13: 9787111740124
  • 相關分類: Key-Value Store
  • 立即出貨 (庫存 < 4)

買這商品的人也買了...

商品描述

本書旨在透過介紹Redis的基礎資料結構與底層實現,
讓讀者掌握基於Redis的大規模資料儲存與叢集高可用的方法和技巧,快速定位並解決工作中遇到的技術難題。
本書共10章,邏輯上分為三個部分:
第1~6章主要介紹Redis的基礎知識與單機處理流程;
第7~9章主要介紹集群的原理與實現;
第10章主要介紹Redis在實際生產中的應用,供讀者參考。
第1章介紹了Redis的一些新特性,以及必須知道的入門知識。
第2章詳細分析了Redis的基礎資料結構,包括物件、字串、列表、字典、集合和有序集合,即Redis基礎資料結構的組成和實作。
第3章詳細介紹了stream的底層實作所依賴的兩種資料結構-listpack與rax的實作及其基本操作。
第4章詳細介紹了Redis的啟動流程,即redisServer對文件事件和時間事件的處理方法。
第5章主要介紹了服務端處理客戶端命令請求的整個流程,涵蓋讀取與解析客戶端命令請求、執行命令請求並傳回結果的技術細節。
第6章介紹Redis如何實現持久化,即RDB和AOF的實現原理。
第7章講解了Redis的主從複製實現原理,並解讀了Master和Slave的源碼。
第8章主要介紹Redis哨兵的原理與實作方案。
第9章詳細介紹了Redis的集群方案的設計想法及實現。
第10章列舉了一些Redis的典型應用,如快取、分散式鎖等。

目錄大綱


前言
第1章Redis必會知識
1.1 Redis 6.0的新功能
1.2 Redis源碼結構
1.3 Redis的安裝與調試
1.4 小結
第2章基礎資料結構解析
2.1 物件
2.2 字串
2.3
列表2.3.1 list
2.3.2 ziplist
2.3 .3 quicklist
2.4 字典
2.4.1 基本實作
2.4.2 字典擴容
2.5 集合
2.5.1 intset簡介
2.5.2 資料儲存
2.6 有序集合
2.6.1 跳躍表簡介
2.6.2 資料儲存
2.7 小結
第3章stream底層資料結構
3.1 stream簡介
3.1.1 listpack
3.1.2 rax
3.1.3 stream結構
3.2 stream底層結構listpack與rax的實作
3.2.1 初始化
3.2.2 找出元素
3.2.3 新增元素
3.2.4 刪除元素
3.2.5 遍歷元素
3.3 stream結構的實作
3.3.1 初始化
3.3.2 新增元素
3.3.3 刪除元素
3.3.4 找出元素
3.3.5 遍歷元素
3.4 小結
第4章Redis啟動流程
4.1 redisServer簡介
4.2 sever啟動流程
4.2.1 serverRedis啟動流程
4.1 redisServer簡介
4.2 sever啟動流程
4.2.1 serverserver初始化
4.2 .2 啟動監聽
4.3 事件處理
4.3.1 檔案事件
4.3.2 時間事件
4.4 小結
第5章一次指令請求流程
5.1 基礎知識
5.1.1 客戶端結構體client
5.1.2 指令結構體redisCommand
5.2 I/O執行緒
5.2.1 I/O執行緒管理
5.2.2 I/O執行緒同步
5.3 RESP 3協定
5.4 指令解析
5.5 指令呼叫
5.6 ACL權限控制
5.6.1 ACL概述
5.6.2 ACL原始碼實作
5.7 結果回傳
5.8 小結
第6章持久化
6.1 備份原理
6.1.1 記憶體資料安全落盤
6.1.2 非同步複製
6.1.3 文字協定與二進位協定
6.1.4 大小端
6.2 持久化配置
6.3 AOF
6.3.1 同步時機
6.3.2 always策略安全性
6.3. 3 指令同步
6.3.4 重寫機制
6.4 RDB
6.4.1 執行流程
6.4.2 RDB協定
6.4.3 檔案分析
6.5 混合持久化
6.6 RDB與AOF相關設定指令
6.7 小結
第7章主從複製
7.1 主從複製功能的實作
7.1.1 主從複製方案的原理與演進
7.1.2 主從複製的最佳化方案
7.2 主從複製源碼分析
7.3 Slave源碼分析
7.4 Master源碼分析
7.5 小結
第8章哨兵
8.1 哨兵簡介
8.2 哨兵的啟動
8.2 .1 哨兵配置
8.2.2 啟動流程
8.3 哨兵相關的資料結構
8.4 哨兵的工作原理
8.4.1 與Master節點及Slave節點建立連接
8.4.2 與其他哨兵建立連接
8.5 故障轉移
8.6 小結
第9章集群
9.1 資料分區
9.2 通訊機制
9.2.1 維護元資料的方案
9.2.2 通訊資料的類型
9.3 程式碼流程
9.3.1 初始化
9.3.2 定時任務
9.4 主從切換
9.4.1 自動切換
9.4. 2 手動切換
9.5 副本漂移
9.6 分片遷移
9.7 小結
第10章Redis應用:快取與鎖定
10.1 快取
10.1.1 常見問題及解決方案
10.1.2 大key問題
10.2 鎖定
單機樂觀鎖定
10.2.2 80.2.2鎖
10.2.3 官方推薦的Redlock
10.3 用戶端快取
10.3.1 基礎知識
10.3.2 用戶端快取的使用
10.3.3 原始碼分析
10.4 小結