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

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

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

定 價(jià):¥139.00

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

購(gòu)買(mǎi)這本書(shū)可以去


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

內(nèi)容簡(jiǎn)介

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

作者簡(jiǎn)介

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

圖書(shū)目錄

本書(shū)贊譽(yù) \n
序 \n
前言 \n
第1章 引言1 \n
1.1 Redis簡(jiǎn)介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章 簡(jiǎn)單動(dòng)態(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 簡(jiǎn)介17 \n
3.2 跳躍表節(jié)點(diǎn)與結(jié)構(gòu)19 \n
3.2.1 跳躍表節(jié)點(diǎn)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é)點(diǎn)22 \n
3.3.3 刪除節(jié)點(diǎn)28 \n
3.3.4 刪除跳躍表30 \n
3.4 跳躍表的應(yīng)用31 \n
3.5 本章小結(jié)32 \n
第4章 壓縮列表33 \n
4.1 壓縮列表的存儲(chǔ)結(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字典的實(shí)現(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ù)存儲(chǔ)72 \n
6.2 基本操作75 \n
6.2.1 查詢(xún)?cè)?5 \n
6.2.2 添加元素78 \n
6.2.3 刪除元素82 \n
6.2.4 常用API83 \n
6.3 本章小結(jié)85 \n
第7章 quicklist的實(shí)現(xiàn)86 \n
7.1 quicklist簡(jiǎn)介86 \n
7.2 數(shù)據(jù)存儲(chǔ)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簡(jiǎn)介102 \n
8.1.1 Stream底層結(jié)構(gòu)listpack103 \n
8.1.2 Stream底層結(jié)構(gòu)Rax簡(jiǎn)介104 \n
8.1.3 Stream結(jié)構(gòu)108 \n
8.2 Stream底層結(jié)構(gòu)listpack的實(shí)現(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的實(shí)現(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)的實(shí)現(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 基本知識(shí)132 \n
9.1.1 對(duì)象結(jié)構(gòu)體robj132 \n
9.1.2 客戶(hù)端結(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啟動(dòng)過(guò)程149 \n
9.2.1 server初始化149 \n
9.2.2 啟動(dòng)監(jiān)聽(tīng)152 \n
9.3 命令處理過(guò)程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)命令的實(shí)現(xiàn)164 \n
10.1 對(duì)象結(jié)構(gòu)體和數(shù)據(jù)庫(kù)結(jié)構(gòu)體回顧164 \n
10.1.1 對(duì)象結(jié)構(gòu)體redisObject164 \n
10.1.2 數(shù)據(jù)庫(kù)結(jié)構(gòu)體redisDb166 \n
10.2 查看鍵信息166 \n
10.2.1 查看鍵屬性166 \n
10.2.2 查看鍵類(lèi)型169 \n
10.2.3 查看鍵過(guò)期時(shí)間170 \n
10.3 設(shè)置鍵信息171 \n
10.3.1 設(shè)置鍵過(guò)期時(shí)間171 \n
10.3.2 刪除鍵過(guò)期時(shí)間172 \n
10.3.3 重命名鍵173 \n
10.3.4 修改鍵最后訪(fǎng)問(wèn)173 \n
10.4 查找鍵174 \n
10.4.1 判斷鍵是否存在174 \n
10.4.2 查找符合模式的鍵175 \n
10.4.3 遍歷鍵176 \n
10.4.4 隨機(jī)取鍵177 \n
10.5 操作鍵178 \n
10.5.1 刪除鍵178 \n
10.5.2 序列化/反序列化鍵182 \n
10.5.3 移動(dòng)鍵183 \n
10.5.4 鍵排序185 \n
10.6 本章小結(jié)187 \n
第11章 字符串相關(guān)命令的實(shí)現(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 計(jì)數(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)命令的實(shí)現(xiàn)213 \n
12.1 簡(jiǎn)介213 \n
12.1.1 底層存儲(chǔ)213 \n
12.1.2 底層存儲(chǔ)轉(zhuǎn)換215 \n
12.1.3 接口說(shuō)明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)命令的實(shí)現(xiàn)225 \n
13.1 相關(guān)命令介紹225 \n
13.1.1 命令列表225 \n
13.1.2 棧和隊(duì)列命令列表226 \n
13.2 push/pop相關(guān)命令228 \n
13.2.1 push類(lèi)命令的實(shí)現(xiàn)228 \n
13.2.2 pop類(lèi)命令的實(shí)現(xiàn)229 \n
13.2.3 阻塞push/pop類(lèi)命令的實(shí)現(xiàn)230 \n
13.3 獲取列表數(shù)據(jù)234 \n
13.3.1 獲取單個(gè)元素234 \n
13.3.2 獲取多個(gè)元素235 \n
13.3.3 獲取列表長(zhǎng)度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)命令的實(shí)現(xiàn)241 \n
14.1 相關(guān)命令介紹241 \n
14.2 集合運(yùn)算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)命令的實(shí)現(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)計(jì)276 \n
15.2.4 數(shù)量計(jì)算277 \n
15.2.5 計(jì)數(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 集合運(yùn)算284 \n
15.5 本章小結(jié)284 \n
第16章 GEO相關(guān)命令285 \n
16.1 基礎(chǔ)知識(shí)285 \n
16.2 命令實(shí)現(xiàn)288 \n
16.2.1 使用geoadd添加坐標(biāo)288 \n
16.2.2 計(jì)算坐標(biāo)的geohash291 \n
16.2.3 使用geopos查詢(xún)位置經(jīng)緯度292 \n
16.2.4 使用geodist計(jì)算兩點(diǎn)距離295 \n
16.2.5 使用georadius/georadius-bymembe查詢(xún)范圍內(nèi)元素295 \n
16.3 本章小結(jié)297 \n
第17章 HyperLogLog相關(guān)命令的實(shí)現(xiàn)298 \n
17.1 基本原理298 \n
17.1.1 算法演進(jìn)299 \n
17.1.2 線(xiàn)性計(jì)數(shù)算法299 \n
17.1.3 對(duì)數(shù)計(jì)數(shù)算法300 \n
17.1.4 自適應(yīng)計(jì)數(shù)算法302 \n
17.1.5 超對(duì)數(shù)計(jì)數(shù)算法302 \n
17.2 HLL Redis實(shí)現(xiàn)302 \n
17.2.1 HLL頭對(duì)象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 命令實(shí)現(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)命令的實(shí)現(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 獲取隊(duì)列信息327 \n
18.2.5 長(zhǎng)度統(tǒng)計(jì)327 \n
18.2.6 剪切消息328 \n
18.3 分組命令原理分析328 \n
18.3.1 分組管理328 \n
18.3.2 消費(fèi)消息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ù)簡(jiǎn)介333 \n
19.1.2 事務(wù)命令實(shí)現(xiàn)334 \n
19.2 發(fā)布-訂閱命令實(shí)現(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ù)類(lèi)型轉(zhuǎn)換349 \n
19.3.4 命令實(shí)現(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重寫(xiě)369 \n
20.3 RDB與AOF相關(guān)配置指令372 \n
20.4 本章小結(jié)374 \n
第21章 主從復(fù)制375 \n
21.1 主從復(fù)制功能實(shí)現(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 哨兵簡(jiǎn)介393 \n
22.1.2 代碼流程394 \n
22.1.3 主從切換396 \n
22.1.4 常用命令399 \n
22.2 集群400 \n
22.2.1 集群簡(jiǎn)介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ù)包類(lèi)型409 \n
22.3 本章小結(jié)415

本目錄推薦

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