Redis 高手心法

李健青

  • 出版商: 電子工業
  • 出版日期: 2024-07-01
  • 定價: $600
  • 售價: 8.5$510
  • 語言: 簡體中文
  • 頁數: 324
  • ISBN: 7121483459
  • ISBN-13: 9787121483455
  • 相關分類: Key-Value Store
  • 下單後立即進貨 (約4週~6週)

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

商品描述

本書共5章。其中,第1章從一條命令的執行開始,勾勒出Redis的數據存儲原理和整體架構;第2章介紹了所有數據類型的實現原理和應用實戰;第3章介紹了RDB快照、AOF、主從復制架構、哨兵集群和Redis Cluster的原理及使用方法;第4章介紹了Redis事務、內存管理、事件驅動、發布/訂閱機制、客戶端緩存和I/O多線程模型;第5章介紹了性能排查與解決問題的檢查清單、使用規範、內存優化技巧、生產王者必備配置、緩存使用策略和分佈式鎖演進原理。

目錄大綱

第1章 起勢入門 1
1.1 從頭說起 1
1.1.1 Redis能做什麽 1
1.1.2 源碼編譯 2
1.1.3 目錄結構 7
1.2 整體架構 8
1.2.1 數據存儲原理 10
1.2.2 一條命令的執行過程 14
第2章 核心築基——數據結構與心法 23
2.1 字符串 23
2.1.1 是什麽 23
2.1.2 修煉心法 24
2.1.3 出招實戰:分佈式 ID 生成器 27
2.2 Lists 28
2.2.1 是什麽 28
2.2.2 修煉心法 28
2.2.3 出招實戰:消息隊列 36
2.3 Sets 40
2.3.1 是什麽 40
2.3.2 修煉心法 41
2.3.3 出招實戰:共同好友 43
2.4 散列表 44
2.4.1 是什麽 44
2.4.2 修煉心法 45
2.4.3 出招實戰:購物車 49
2.5 Sorted Sets 52
2.5.1 是什麽 52
2.5.2 修煉心法 52
2.5.3 出招實戰:排行榜 57
2.6 Stream 59
2.6.1 是什麽 59
2.6.2 修煉心法 60
2.6.3 出招實戰:消息隊列 67
2.7 Geospatial 76
2.7.1 是什麽 77
2.7.2 修煉心法 81
2.7.3 出招實戰:附近的人 86
2.8 Bitmap 90
2.8.1 是什麽 90
2.8.2 修煉心法 91
2.8.3 出招實戰:登錄判斷、簽到統計系統 94
2.9 HyperLogLog 97
2.9.1 是什麽 97
2.9.2 修煉心法 98
2.9.3 出招實戰:網頁訪問量統計 99
2.10 Bloom Filter 101
2.10.1 是什麽 102
2.10.2 修煉心法 102
2.10.3 出招實戰:緩存穿透預防 103
2.11 Redis 高性能的原因 106
2.11.1 基於內存實現 107
2.11.2 I/O 多路復用模型 108
2.11.3 單線程模型 110
2.11.4 高效的數據結構 112
2.11.5 全局散列表 113
第3章 不死之身——高可用 114
3.1 宕機恢復,不丟數據穩如山 114
3.1.1 RDB 快照 114
3.1.2 AOF 118
3.2 主從復制架構 125
3.2.1 主從數據同步原理 127
3.2.2 主從同步的缺點 135
3.3 哨兵集群 136
3.3.1 哨兵的任務 138
3.3.2 哨兵集群原理 143
3.4 Redis 集群 147
3.4.1 Redis 集群是什麽 148
3.4.2 Redis 集群的原理 150
3.4.3 集群配置註意事項 164
第4章 結丹飛升——高級技能進階 165
4.1 Redis 事務修煉手冊 165
4.1.1 什麽是事務的 ACID 165
4.1.2 Redis 如何實現事務 166
4.1.3 Redis 事務滿足 ACID 嗎 168
4.2 Redis內存管理 174
4.2.1 淘汰策略概述 174
4.2.2 過期刪除策略 183
4.3 Redis事件驅動:文件和時間的協奏曲 185
4.3.1 Redis server 啟動入口 186
4.3.2 文件事件 190
4.3.3 時間事件 191
4.4 Redis 發布/訂閱機制深度解析 194
4.4.1 發布/訂閱機制簡介 194
4.4.2 發布/訂閱機制實戰 195
4.4.3 原理分析 199
4.4.4 使用場景 204
4.5 性能必殺技之客戶端緩存 205
4.5.1 為什麽需要客戶端緩存 205
4.5.2 客戶端緩存實現原理 207
4.5.3 源碼解析 211
4.6 性能必殺技之 Redis I/O多線程模型 213
4.6.1 單線程模型真的只有一個線程嗎 213
4.6.2 線程模型的演化 214
4.6.3 I/O多線程模型解讀 215
4.7 Redis 內存碎片深度解析與優化策略 221
4.7.1 數據已刪,釋放的內存去哪了 221
4.7.2 什麽是內存碎片 223
4.7.3 內存碎片的形成原因 223
4.7.4 內存碎片解決之道 224
第5章 元嬰大成——出師實戰 227
5.1 Redis 性能排查與解決問題的終極檢查清單 227
5.1.1 性能基線測量 227
5.1.2 慢命令監控 229
5.1.3 解決性能問題的終極檢查清單 230
5.2 Redis 很強,不懂使用規範就糟蹋了 237
5.2.1 key-value使用規範 237
5.2.2 命令使用規範 239
5.2.3 數據存儲使用規範 240
5.2.4 SDK使用規範 240
5.2.5 運維規範 241
5.3 Redis 內存優化必殺技,小內存存儲大數據 241
5.3.1 key-value優化 242
5.3.2 小數據集合編碼優化 243
5.3.3 使用對象共享池 244
5.3.4 使用bit或byte級別操作 244
5.3.5 巧用Hashes類型優化 245
5.3.6 使用內存碎片清理功能 246
5.3.7 使用32位的Redis 246
5.4 生產王者必備配置詳解 246
5.4.1 常規配置 247
5.4.2 RDB 快照持久化 250
5.4.3 主從復制 251
5.4.4 安全 255
5.4.5 內存管理 256
5.4.6 惰性釋放 257
5.4.7 AOF 持久化 259
5.4.8 Redis集群 261
5.4.9 性能監控 264
5.4.10 高級配置 264
5.4.11 在線內存碎片清理 270
5.4.12 綁定 CPU 271
5.4.13 sentinel.conf 哨兵 271
5.5 緩存擊穿、緩存穿透、緩存雪崩怎麽解決 275
5.5.1 緩存擊穿 275
5.5.2 緩存穿透 277
5.5.3 緩存雪崩 278
5.6 Redis 緩存策略與數據庫一致性問題深度剖析 280
5.6.1 緩存策略 281
5.6.2 緩存與數據庫一致性是什麽 287
5.6.3 旁路緩存的問題分析 287
5.6.4 數據庫與緩存一致性解決方案 293
5.6.5 總結 295
5.7 Redis 分佈式鎖演進原理與實戰 296
5.7.1 為什麽需要分佈式鎖 296
5.7.2 入門級分佈式鎖 297
5.7.3 釋放別人的鎖 299
5.7.4 可重入鎖 300
5.7.5 正確配置鎖過期時間 303
5.7.6 Redis 部署方式對鎖的影響 307
5.7.7 紅鎖 307
5.7.8 紅鎖的是與非 308