前言
第1章 大數(shù)據高并發(fā)離不開Redis 1
11 NoSQL發(fā)展歷程 1
12 初識Redis 3
13 Redis的魅力 3
14 喜歡Redis的理由 4
15 學習Redis的第一步 6
151 在Windows環(huán)境下安裝Redis 6
152 在Linux環(huán)境下安裝Redis 11
153 在Docker環(huán)境下安裝Redis 13
154 Redis界面化管理工具 17
16 redisconf文件的詳細說明 18
17 Redis基本操作 21
171 啟動Redis服務器 21
172 遠程登錄 21
173 切換數(shù)據庫 21
174 刪除鍵 22
175 刪除當前數(shù)據庫的所有鍵 22
第2章 Redis多種數(shù)據類型使用場景 23
21 String數(shù)據類型的API和使用場景 23
211 String數(shù)據類型的常規(guī)操作 23
212 結合應用場景演練 24
22 String也能做,為什么還要用Hash 30
221 Hash數(shù)據類型的常規(guī)操作 31
222 結合應用場景演練 31
23 一種類型多種用法,原來List還可以這樣做 34
231 List模擬數(shù)據結構 35
232 List常規(guī)操作 38
233 利用列表迅速提升網站首頁的并發(fā)量 38
24 開啟Set數(shù)據類型的正確操作姿勢 39
241 明星緋聞和微博癱瘓的那些事 39
242 抽獎邏輯 39
243 文章點贊或者投票 40
244 共同好友統(tǒng)計 41
25 微服務的限流操作和Zset的那些瓜葛 42
251 利用Zset實現(xiàn)限流 43
252 新聞排行榜場景實戰(zhàn) 47
253 直播打賞排名場景實戰(zhàn) 48
第3章 數(shù)據結構底層 50
31 String數(shù)據結構底層解析 51
311 String的三種編碼 51
312 SDS和內存重新分配 54
313 embstr編碼的內容追加 56
314 內存空間釋放 57
315 SDS特征 58
32 Hash數(shù)據結構底層解析 58
321 ZipList數(shù)據結構 58
322 HashTable數(shù)據結構 66
323 ZipList和HashTable的抉擇 81
33 List數(shù)據結構底層解析 83
331 單向鏈表 83
332 雙向鏈表 84
333 Redis鏈表 84
334 快速列表 86
34 Set數(shù)據結構底層解析 91
341 整數(shù)集合 91
342 intset和HashTable的抉擇 94
35 Zset數(shù)據結構底層解析 95
351 跳躍表數(shù)據結構解析 95
352 ZipList和跳躍表的抉擇 99
第4章 數(shù)據持久化 101
41 RDB方式持久化 102
411 save觸發(fā)方式 103
412 bgsave觸發(fā)方式 103
413 后臺觸發(fā) 105
414 RDB備份的應用場景 107
42 AOF方式持久化 107
421 AOF持久化流程 108
422 相關參數(shù)配置 113
423 重寫操作 113
43 AOF和RDB的數(shù)據恢復順序 115
44 RDB和AOF持久化的優(yōu)缺點 116
441 RDB持久化的優(yōu)缺點 116
442 AOF持久化的優(yōu)缺點 116
45 AOF+RDB混合模式配置 117
第5章 Redis的事務和Lua腳本操作 119
51 事務概述 119
52 事務使用 120
521 事務的三個階段 120
522 事務范例 120
53 事務性質 123
531 原子性 123
532 一致性 124
533 隔離性 124
534 持久性 124
535 安全性 125
54 Lua腳本 126
541 eval 126
542 Lua和Redis數(shù)據類型的轉換 128
543 腳本的原子性 130
544 錯誤處理 130
545 帶寬和evalsha 131
546 腳本緩存 131
547 script命令和純函數(shù)腳本 132
548 全局變量保護 133
549 內部腳本 133
5410 沙箱和最大執(zhí)行時間 135
5411 Redis腳本命令 136
5412 Lua腳本的好處 138
55 Lua實戰(zhàn) 138
第6章 pub/sub和Stream 142
61 頻道的訂閱與消息發(fā)送 142
62 發(fā)布與訂閱的使用 143
63 發(fā)布與訂閱的原理 145
64 訂閱模式 146
65 pub和sub使用范例 147
66 與其他發(fā)布和訂閱比較 148
67 Stream概述 148
68 Stream實例 154
681 同組消費模式 154
682 不同組消費模式 155
683 消息確認 157
第7章 主從復制 158
71 主從復制概述 159
72 主從復制工作原理 159
721 連接建立階段 160
722 數(shù)據同步階段 164
723 命令傳播階段 181
724 身份驗證 183
725 延遲與不一致 184
73 Redis復制的注意事項 185
731 復制的注意事項 185
732 復制的安全性 185
733 無須磁盤參與的復制 186
734 只讀性質的從節(jié)點 186
735 主從多種模式下的問題 187
74 搭建主從節(jié)點的實例 189
741 以命令行方式搭建主從節(jié)點 189
742 以配置文件方式搭建主從節(jié)點 192
743 以身份驗證模式搭建主從架構 195
75 主從架構的“坑”和優(yōu)化技巧 197
751 復制超時問題 197
752 主從架構數(shù)據應用問題 198
753 主從復制中斷問題 199
754 主從復制應用中的優(yōu)化技巧 199