注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)數(shù)據(jù)庫數(shù)據(jù)庫理論Redis 高手心法

Redis 高手心法

Redis 高手心法

定 價(jià):¥100.00

作 者: 李健青
出版社: 電子工業(yè)出版社
叢編項(xiàng):
標(biāo) 簽: 暫缺

ISBN: 9787121483455 出版時(shí)間: 2024-07-01 包裝: 平裝-膠訂
開本: 128開 頁數(shù): 字?jǐn)?shù):  

內(nèi)容簡介

  本書共5章。其中,第1章從一條命令的執(zhí)行開始,勾勒出Redis的數(shù)據(jù)存儲原理和整體架構(gòu);第2章介紹了所有數(shù)據(jù)類型的實(shí)現(xiàn)原理和應(yīng)用實(shí)戰(zhàn);第3章介紹了RDB快照、AOF、主從復(fù)制架構(gòu)、哨兵集群和Redis Cluster的原理及使用方法;第4章介紹了Redis事務(wù)、內(nèi)存管理、事件驅(qū)動(dòng)、發(fā)布/訂閱機(jī)制、客戶端緩存和I/O多線程模型;第5章介紹了性能排查與解決問題的檢查清單、使用規(guī)范、內(nèi)存優(yōu)化技巧、生產(chǎn)王者配置、緩存使用策略和分布式鎖演進(jìn)原理。本書適合后端開發(fā)工程師、運(yùn)維人員、系統(tǒng)架構(gòu)師及剛?cè)胄械某绦騿T閱讀,用以掌握 Redis 內(nèi)部原理并提升實(shí)戰(zhàn)技巧。

作者簡介

  微信公眾號“碼哥字節(jié)”作者、InfoQ簽約作者、后端架構(gòu)師,9 年互聯(lián)網(wǎng)金融后端從業(yè)經(jīng)驗(yàn)。擅長Redis、Spring、Kafka、MySQL 等技術(shù),對云原生微服務(wù)有著深入的研究,喜歡用簡潔、風(fēng)趣、幽默的語言,將各種技術(shù)的知識點(diǎn)或深或淺地展開,分享自己在成長過程中積累的經(jīng)驗(yàn)和正確提升技術(shù)水平的方法論。

圖書目錄

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

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) www.dappsexplained.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號