注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計算機/網(wǎng)絡(luò)網(wǎng)絡(luò)與數(shù)據(jù)通信網(wǎng)絡(luò)服務(wù)Redis5設(shè)計與源碼分析

Redis5設(shè)計與源碼分析

Redis5設(shè)計與源碼分析

定 價:¥139.00

作 者: 陳雷 等
出版社: 機械工業(yè)出版社
叢編項:
標(biāo) 簽: 暫缺

ISBN: 9787111632788 出版時間: 2019-09-01 包裝:
開本: 頁數(shù): 字?jǐn)?shù):  

內(nèi)容簡介

  多名專家聯(lián)袂推薦,資深專家聯(lián)合撰寫,深入理解Redis5設(shè)計精髓。《Redis5設(shè)計與源碼分析》系統(tǒng)講解Redis5設(shè)計、數(shù)據(jù)結(jié)構(gòu)、底層命令實現(xiàn),以及持久化、主從復(fù)制、集群的實現(xiàn),《Redis5設(shè)計與源碼分析》分為三篇,共計22章內(nèi)容。第一篇(第1-8章).重點講解了SDS、跳躍表、壓縮列表、字典、整數(shù)集合、quicklist和Stream數(shù)據(jù)結(jié)構(gòu)的實現(xiàn)。第二篇(第9-19章),講解了Redis的生命周期、命令執(zhí)行的過程,鍵、字符串、散列表、列表、集合、有序集合、GEO、HyperLog和Stream相關(guān)命令的實現(xiàn),需要重點了解。第三篇(第20-22章),簡單剖析了持久化、主從復(fù)制和集群的實現(xiàn),掌握精髓。

作者簡介

  陳雷,好未來學(xué)而思網(wǎng)校增長研發(fā)負(fù)責(zé)人,清華與北京郵電大學(xué)碩士,曾在百度、騰訊和滴滴等公司工作,12年后端架構(gòu)經(jīng)驗。合著有《PHP7底層設(shè)計與源碼實現(xiàn)》。方波,資深工程師,先后就職于360、百度、滴滴,設(shè)計并開發(fā)360消息系統(tǒng)Qbus、Nginx接入層、電商網(wǎng)站架構(gòu)等分布式高并發(fā)系統(tǒng)。黃桃,好未來學(xué)而思網(wǎng)校架構(gòu)師,從事互聯(lián)網(wǎng)服務(wù)端研發(fā)與架構(gòu)工作多年,熟悉PHP、Nginx、Redis等源碼實現(xiàn),樂于學(xué)習(xí)與分享。合著有《PHP 7底層設(shè)計與源碼實現(xiàn)》。 李樂,好未來PHP工程師,西安電子科技大學(xué)碩士,樂于鉆研技術(shù)與源碼研究,對Redis和Nginx有較深理解。施洪寶, 好未來后端研發(fā)工程師,東南大學(xué)碩士,對Redis、Nginx等開源軟件有較深的理解,熟悉C/C開發(fā),對高并發(fā)、分布式有濃厚興趣,曾發(fā)表EI論文2篇,。熊浩含,百度研發(fā)工程師、PHP開發(fā)者,對Redis等開源軟件有較深的研究。樂于鉆研技術(shù)難點,喜歡折騰,在學(xué)習(xí)思路上有很好的方法論。閆昌,好未來后端軟件開發(fā)工程師,深耕信息安全領(lǐng)域多年,對Linux下服務(wù)端開發(fā)有較深見解,擅長高并發(fā)業(yè)務(wù)的實現(xiàn)。張仕華,滴滴資深軟件開發(fā)工程師,熱衷于研究高并發(fā)場景下的架構(gòu)設(shè)計及實現(xiàn),熟悉Redis、Nginx和LevelDB等源碼,熱衷于探究技術(shù)本質(zhì)。周生政,滴滴后端高級工程師,多年LNMP技術(shù)棧開發(fā)經(jīng)驗,曾任北京環(huán)球購物電商后端技術(shù)負(fù)責(zé)人。熱衷于Linux平臺效率工具, 熟悉Bash、Docker等自動化工具。

圖書目錄

本書贊譽 \n
序 \n
前言 \n
第1章 引言1 \n
1.1 Redis簡介1 \n
1.2 Redis 5.0的新特性2 \n
1.3 Redis源碼概述3 \n
1.4 Redis安裝與調(diào)試4 \n
1.5 本章小結(jié)6 \n
第2章 簡單動態(tài)字符串7 \n
2.1 數(shù)據(jù)結(jié)構(gòu)7 \n
2.2 基本操作11 \n
2.2.1 創(chuàng)建字符串11 \n
2.2.2 釋放字符串12 \n
2.2.3 拼接字符串12 \n
2.2.4 其余API15 \n
2.3 本章小結(jié)15 \n
第3章 跳躍表17 \n
3.1 簡介17 \n
3.2 跳躍表節(jié)點與結(jié)構(gòu)19 \n
3.2.1 跳躍表節(jié)點19 \n
3.2.2 跳躍表結(jié)構(gòu)20 \n
3.3 基本操作20 \n
3.3.1 創(chuàng)建跳躍表21 \n
3.3.2 插入節(jié)點22 \n
3.3.3 刪除節(jié)點28 \n
3.3.4 刪除跳躍表30 \n
3.4 跳躍表的應(yīng)用31 \n
3.5 本章小結(jié)32 \n
第4章 壓縮列表33 \n
4.1 壓縮列表的存儲結(jié)構(gòu)33 \n
4.2 結(jié)構(gòu)體35 \n
4.3 基本操作37 \n
4.3.1 創(chuàng)建壓縮列表37 \n
4.3.2 插入元素38 \n
4.3.3 刪除元素42 \n
4.3.4 遍歷壓縮列表44 \n
4.4 連鎖更新44 \n
4.5 本章小結(jié)45 \n
第5章 字典47 \n
5.1 基本概念47 \n
5.1.1 數(shù)組48 \n
5.1.2 Hash函數(shù)49 \n
5.1.3 Hash沖突51 \n
5.2 Redis字典的實現(xiàn)52 \n
5.3 基本操作55 \n
5.3.1 字典初始化55 \n
5.3.2 添加元素56 \n
5.3.3 查找元素60 \n
5.3.4 修改元素61 \n
5.3.5 刪除元素61 \n
5.4 字典的遍歷62 \n
5.4.1 迭代器遍歷62 \n
5.4.2 間斷遍歷65 \n
5.5 API列表70 \n
5.6 本章小結(jié)71 \n
第6章 整數(shù)集合72 \n
6.1 數(shù)據(jù)存儲72 \n
6.2 基本操作75 \n
6.2.1 查詢元素75 \n
6.2.2 添加元素78 \n
6.2.3 刪除元素82 \n
6.2.4 常用API83 \n
6.3 本章小結(jié)85 \n
第7章 quicklist的實現(xiàn)86 \n
7.1 quicklist簡介86 \n
7.2 數(shù)據(jù)存儲87 \n
7.3 數(shù)據(jù)壓縮91 \n
7.3.1 壓縮92 \n
7.3.2 解壓縮93 \n
7.4 基本操作94 \n
7.4.1 初始化94 \n
7.4.2 添加元素95 \n
7.4.3 刪除元素96 \n
7.4.4 更改元素98 \n
7.4.5 查找元素99 \n
7.4.6 常用API100 \n
7.5 本章小結(jié)101 \n
第8章 Stream102 \n
8.1 Stream簡介102 \n
8.1.1 Stream底層結(jié)構(gòu)listpack103 \n
8.1.2 Stream底層結(jié)構(gòu)Rax簡介104 \n
8.1.3 Stream結(jié)構(gòu)108 \n
8.2 Stream底層結(jié)構(gòu)listpack的實現(xiàn)112 \n
8.2.1 初始化112 \n
8.2.2 增刪改操作112 \n
8.2.3 遍歷操作113 \n
8.2.4 讀取元素113 \n
8.3 Stream底層結(jié)構(gòu)Rax的實現(xiàn)114 \n
8.3.1 初始化114 \n
8.3.2 查找元素114 \n
8.3.3 添加元素116 \n
8.3.4 刪除元素118 \n
8.3.5 遍歷元素120 \n
8.4 Stream結(jié)構(gòu)的實現(xiàn)123 \n
8.4.1 初始化124 \n
8.4.2 添加元素124 \n
8.4.3 刪除元素125 \n
8.4.4 查找元素128 \n
8.4.5 遍歷129 \n
8.5 本章小結(jié)131 \n
第9章 命令處理生命周期132 \n
9.1 基本知識132 \n
9.1.1 對象結(jié)構(gòu)體robj132 \n
9.1.2 客戶端結(jié)構(gòu)體client136 \n
9.1.3 服務(wù)端結(jié)構(gòu)體redisServer138 \n
9.1.4 命令結(jié)構(gòu)體redisCommand139 \n
9.1.5 事件處理141 \n
9.2 server啟動過程149 \n
9.2.1 server初始化149 \n
9.2.2 啟動監(jiān)聽152 \n
9.3 命令處理過程155 \n
9.3.1 命令解析156 \n
9.3.2 命令調(diào)用159 \n
9.3.3 返回結(jié)果161 \n
9.4 本章小結(jié)163 \n
第10章 鍵相關(guān)命令的實現(xiàn)164 \n
10.1 對象結(jié)構(gòu)體和數(shù)據(jù)庫結(jié)構(gòu)體回顧164 \n
10.1.1 對象結(jié)構(gòu)體redisObject164 \n
10.1.2 數(shù)據(jù)庫結(jié)構(gòu)體redisDb166 \n
10.2 查看鍵信息166 \n
10.2.1 查看鍵屬性166 \n
10.2.2 查看鍵類型169 \n
10.2.3 查看鍵過期時間170 \n
10.3 設(shè)置鍵信息171 \n
10.3.1 設(shè)置鍵過期時間171 \n
10.3.2 刪除鍵過期時間172 \n
10.3.3 重命名鍵173 \n
10.3.4 修改鍵最后訪問173 \n
10.4 查找鍵174 \n
10.4.1 判斷鍵是否存在174 \n
10.4.2 查找符合模式的鍵175 \n
10.4.3 遍歷鍵176 \n
10.4.4 隨機取鍵177 \n
10.5 操作鍵178 \n
10.5.1 刪除鍵178 \n
10.5.2 序列化/反序列化鍵182 \n
10.5.3 移動鍵183 \n
10.5.4 鍵排序185 \n
10.6 本章小結(jié)187 \n
第11章 字符串相關(guān)命令的實現(xiàn)188 \n
11.1 相關(guān)命令介紹188 \n
11.2 設(shè)置字符串189 \n
11.2.1 set命令189 \n
11.2.2 mset命令195 \n
11.3 修改字符串196 \n
11.3.1 append命令196 \n
11.3.2 setrange命令197 \n
11.3.3 計數(shù)器命令197 \n
11.4 字符串獲取199 \n
11.4.1 get命令199 \n
11.4.2 getset命令199 \n
11.4.3 getrange命令199 \n
11.4.4 strlen命令200 \n
11.4.5 mget命令201 \n
11.5 字符串位操作201 \n
11.5.1 setbit命令201 \n
11.5.2 getbit命令203 \n
11.5.3 bitpos命令203 \n
11.5.4 bitcount命令205 \n
11.5.5 bitop命令208 \n
11.5.6 bitfield命令209 \n
11.6 本章小結(jié)212 \n
第12章 散列表相關(guān)命令的實現(xiàn)213 \n
12.1 簡介213 \n
12.1.1 底層存儲213 \n
12.1.2 底層存儲轉(zhuǎn)換215 \n
12.1.3 接口說明215 \n
12.2 設(shè)置命令216 \n
12.3 讀取命令217 \n
12.3.1 hexists命令218 \n
12.3.2 hget/hmget命令218 \n
12.3.3 hkeys/hvals/hgetall命令219 \n
12.3.4 hlen命令220 \n
12.3.5 hscan命令220 \n
12.4 刪除命令221 \n
12.5 自增命令222 \n
12.6 本章小結(jié)224 \n
第13章 列表相關(guān)命令的實現(xiàn)225 \n
13.1 相關(guān)命令介紹225 \n
13.1.1 命令列表225 \n
13.1.2 棧和隊列命令列表226 \n
13.2 push/pop相關(guān)命令228 \n
13.2.1 push類命令的實現(xiàn)228 \n
13.2.2 pop類命令的實現(xiàn)229 \n
13.2.3 阻塞push/pop類命令的實現(xiàn)230 \n
13.3 獲取列表數(shù)據(jù)234 \n
13.3.1 獲取單個元素234 \n
13.3.2 獲取多個元素235 \n
13.3.3 獲取列表長度236 \n
13.4 操作列表236 \n
13.4.1 設(shè)置元素237 \n
13.4.2 插入元素237 \n
13.4.3 刪除元素238 \n
13.4.4 裁剪列表239 \n
13.5 本章小結(jié)240 \n
第14章 集合相關(guān)命令的實現(xiàn)241 \n
14.1 相關(guān)命令介紹241 \n
14.2 集合運算254 \n
14.2.1 交集254 \n
14.2.2 并集258 \n
14.2.3 差集260 \n
14.3 本章小結(jié)263 \n
第15章 有序集合相關(guān)命令的實現(xiàn)264 \n
15.1 相關(guān)命令介紹264 \n
15.2 基本操作272 \n
15.2.1 添加成員272 \n
15.2.2 刪除成員275 \n
15.2.3 基數(shù)統(tǒng)計276 \n
15.2.4 數(shù)量計算277 \n
15.2.5 計數(shù)器279 \n
15.2.6 獲取排名279 \n
15.2.7 獲取分值279 \n
15.2.8 遍歷280 \n
15.3 批量操作280 \n
15.3.1 范圍查找280 \n
15.3.2 范圍刪除283 \n
15.4 集合運算284 \n
15.5 本章小結(jié)284 \n
第16章 GEO相關(guān)命令285 \n
16.1 基礎(chǔ)知識285 \n
16.2 命令實現(xiàn)288 \n
16.2.1 使用geoadd添加坐標(biāo)288 \n
16.2.2 計算坐標(biāo)的geohash291 \n
16.2.3 使用geopos查詢位置經(jīng)緯度292 \n
16.2.4 使用geodist計算兩點距離295 \n
16.2.5 使用georadius/georadius-bymembe查詢范圍內(nèi)元素295 \n
16.3 本章小結(jié)297 \n
第17章 HyperLogLog相關(guān)命令的實現(xiàn)298 \n
17.1 基本原理298 \n
17.1.1 算法演進299 \n
17.1.2 線性計數(shù)算法299 \n
17.1.3 對數(shù)計數(shù)算法300 \n
17.1.4 自適應(yīng)計數(shù)算法302 \n
17.1.5 超對數(shù)計數(shù)算法302 \n
17.2 HLL Redis實現(xiàn)302 \n
17.2.1 HLL頭對象303 \n
17.2.2 稀疏編碼304 \n
17.2.3 密集編碼306 \n
17.2.4 內(nèi)部編碼308 \n
17.2.5 編碼轉(zhuǎn)換309 \n
17.3 命令實現(xiàn)310 \n
17.3.1 添加基數(shù)310 \n
17.3.2 近似基數(shù)311 \n
17.3.3 合并基數(shù)313 \n
17.4 本章小結(jié)314 \n
第18章 數(shù)據(jù)流相關(guān)命令的實現(xiàn)315 \n
18.1 相關(guān)命令介紹315 \n
18.2 基本操作命令原理分析323 \n
18.2.1 添加消息323 \n
18.2.2 刪除消息325 \n
18.2.3 范圍查找326 \n
18.2.4 獲取隊列信息327 \n
18.2.5 長度統(tǒng)計327 \n
18.2.6 剪切消息328 \n
18.3 分組命令原理分析328 \n
18.3.1 分組管理328 \n
18.3.2 消費消息330 \n
18.3.3 響應(yīng)消息331 \n
18.3.4 獲取未響應(yīng)消息列表331 \n
18.3.5 修改指定未響應(yīng)消息歸屬331 \n
18.4 本章小結(jié)332 \n
第19章 其他命令333 \n
19.1 事務(wù)333 \n
19.1.1 事務(wù)簡介333 \n
19.1.2 事務(wù)命令實現(xiàn)334 \n
19.2 發(fā)布-訂閱命令實現(xiàn)339 \n
19.3 Lua腳本345 \n
19.3.1 初始化Lua環(huán)境345 \n
19.3.2 在Lua中調(diào)用Redis命令347 \n
19.3.3 Redis和Lua數(shù)據(jù)類型轉(zhuǎn)換349 \n
19.3.4 命令實現(xiàn)351 \n
19.4 本章小結(jié)356 \n
第20章 持久化357 \n
20.1 RDB358 \n
20.1.1 RDB執(zhí)行流程358 \n
20.1.2 RDB文件結(jié)構(gòu)359 \n
20.2 AOF367 \n
20.2.1 AOF執(zhí)行流程368 \n
20.2.2 AOF重寫369 \n
20.3 RDB與AOF相關(guān)配置指令372 \n
20.4 本章小結(jié)374 \n
第21章 主從復(fù)制375 \n
21.1 主從復(fù)制功能實現(xiàn)375 \n
21.2 主從復(fù)制源碼基礎(chǔ)378 \n
21.3 slaver源碼分析382 \n
21.4 master源碼分析388 \n
21.5 本章小結(jié)391 \n
第22章 哨兵和集群392 \n
22.1 哨兵392 \n
22.1.1 哨兵簡介393 \n
22.1.2 代碼流程394 \n
22.1.3 主從切換396 \n
22.1.4 常用命令399 \n
22.2 集群400 \n
22.2.1 集群簡介401 \n
22.2.2 代碼流程402 \n
22.2.3 主從切換404 \n
22.2.4 副本漂移406 \n
22.2.5 分片遷移407 \n
22.2.6 通信數(shù)據(jù)包類型409 \n
22.3 本章小結(jié)415

本目錄推薦

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