定 價(jià):69.8 元
叢書名:Redis應(yīng)用與實(shí)戰(zhàn)叢書
- 作者:黃健宏
- 出版時(shí)間:2024/12/1
- ISBN:9787115653956
- 出 版 社:人民郵電出版社
- 中圖法分類:TP311
- 頁碼:
- 紙張:膠版紙
- 版次:
- 開本:16開
本書將從內(nèi)部組件、外部應(yīng)用和數(shù)據(jù)結(jié)構(gòu)3個(gè)方面為讀者介紹Redis常見、經(jīng)典的用法與實(shí)例,并且所有實(shí)例均附有完整的Python代碼,方便讀者學(xué)習(xí)和參考。全書分3個(gè)部分:第一部分講內(nèi)部組件,介紹的實(shí)例通常用于系統(tǒng)內(nèi)部,如緩存、鎖、計(jì)數(shù)器、迭代器、速率限制器等,這些都是很多系統(tǒng)中不可或缺的部分;第二部分講外部應(yīng)用,介紹的實(shí)例都是一些日常常見的、用戶可以直接接觸到的應(yīng)用,如直播彈幕、社交關(guān)系、排行榜、分頁、地理位置等;第三部分講數(shù)據(jù)結(jié)構(gòu),介紹的實(shí)例是一些使用Redis實(shí)現(xiàn)的常見數(shù)據(jù)結(jié)構(gòu),如先進(jìn)先出隊(duì)列、棧、優(yōu)先隊(duì)列和矩陣等。本書希望通過展示常見的Redis應(yīng)用實(shí)例來幫助讀者了解使用Redis解決各類問題的方法,并加深讀者對Redis各項(xiàng)命令及數(shù)據(jù)結(jié)構(gòu)的認(rèn)識,使讀者真正成為能夠使用Redis解決各類問題的Redis專家。
本書適合對Redis有基本了解且想要進(jìn)一步掌握Redis及鍵值數(shù)據(jù)庫具體應(yīng)用的技術(shù)人群,是理想的Redis技術(shù)進(jìn)階讀物。
黃健宏
計(jì)算機(jī)技術(shù)圖書作者和譯者,關(guān)注的領(lǐng)域包括數(shù)據(jù)庫、編程語言、操作系統(tǒng),以及算法和數(shù)據(jù)結(jié)構(gòu)。
他從2011年開始關(guān)注Redis,翻譯過Redis文檔,注釋過Redis源代碼,發(fā)表了大量關(guān)于Redis的文章,還撰寫了廣受Redis使用者喜愛的源碼分析書《Redis設(shè)計(jì)與實(shí)現(xiàn)》,并翻譯了熱銷的Redis入門書《Redis實(shí)戰(zhàn)》。
他還是《Redis使用手冊》的作者,《SQL實(shí)戰(zhàn)(第2版)》、《Go語言趣學(xué)指南》和《Go Web編程》的譯者。
第 一部分 內(nèi)部組件
第 1章 緩存文本數(shù)據(jù)3
1.1 需求描述3
1.2 解決方案:使用字符串鍵緩存單項(xiàng)數(shù)據(jù)3
1.3 實(shí)現(xiàn)代碼:使用字符串鍵緩存單項(xiàng)數(shù)據(jù)4
1.4 解決方案:使用JSON/哈希鍵緩存多項(xiàng)數(shù)據(jù)5
1.5 實(shí)現(xiàn)代碼:使用JSON/哈希鍵緩存多項(xiàng)數(shù)據(jù)6
1.6 重點(diǎn)回顧9
第 2章 緩存二進(jìn)制數(shù)據(jù)11
2.1 需求描述11
2.2 解決方案11
2.3 實(shí)現(xiàn)代碼12
2.4 重點(diǎn)回顧13
第3章 鎖15
3.1 需求描述15
3.2 解決方案15
3.3 實(shí)現(xiàn)代碼16
3.4 擴(kuò)展方案:帶自動解鎖功能的鎖17
3.5 重點(diǎn)回顧19
第4章 帶密碼保護(hù)功能的鎖21
4.1 需求描述21
4.2 解決方案21
4.3 實(shí)現(xiàn)代碼22
4.4 重點(diǎn)回顧23
第5章 自增數(shù)字ID25
5.1 需求描述25
5.2 解決方案:使用字符串鍵25
5.3 實(shí)現(xiàn)代碼:使用字符串鍵實(shí)現(xiàn)自增數(shù)字ID生成器26
5.4 解決方案:使用哈希鍵27
5.5 實(shí)現(xiàn)代碼:使用哈希鍵實(shí)現(xiàn)自增數(shù)字ID生成器27
5.6 重點(diǎn)回顧28
第6章 計(jì)數(shù)器29
6.1 需求描述29
6.2 解決方案:使用字符串鍵29
6.3 實(shí)現(xiàn)代碼:使用字符串鍵實(shí)現(xiàn)計(jì)數(shù)器30
6.4 解決方案:使用哈希鍵31
6.5 實(shí)現(xiàn)代碼:使用哈希鍵實(shí)現(xiàn)計(jì)數(shù)器32
6.6 重點(diǎn)回顧33
第7章 唯一計(jì)數(shù)器35
7.1 需求描述35
7.2 解決方案:使用集合鍵35
7.3 實(shí)現(xiàn)代碼:使用集合鍵實(shí)現(xiàn)唯一計(jì)數(shù)器36
7.4 解決方案:使用HyperLogLog鍵37
7.5 實(shí)現(xiàn)代碼:使用HyperLogLog鍵實(shí)現(xiàn)唯一計(jì)數(shù)器38
7.6 重點(diǎn)回顧39
第8章 速率限制器41
8.1 需求描述41
8.2 解決方案41
8.3 實(shí)現(xiàn)代碼42
8.4 重點(diǎn)回顧45
第9章 二元操作記錄器47
9.1 需求描述47
9.2 解決方案47
9.3 實(shí)現(xiàn)代碼48
9.4 重點(diǎn)回顧49
第 10章 資源池51
10.1 需求描述51
10.2 解決方案51
10.3 實(shí)現(xiàn)代碼52
10.4 重點(diǎn)回顧54
第 11章 緊湊字符串57
11.1 需求描述57
11.2 解決方案58
11.3 實(shí)現(xiàn)代碼58
11.4 重點(diǎn)回顧60
第 12章 數(shù)據(jù)庫迭代器61
12.1 需求描述61
12.2 解決方案61
12.3 實(shí)現(xiàn)代碼62
12.4 擴(kuò)展實(shí)現(xiàn):數(shù)據(jù)庫采樣程序64
12.5 重點(diǎn)回顧66
第 13章 流迭代器67
13.1 需求描述67
13.2 解決方案:使用XRANGE67
13.3 實(shí)現(xiàn)代碼:使用XRANGE實(shí)現(xiàn)
流迭代器69
13.4 解決方案:使用XREAD70
13.5 實(shí)現(xiàn)代碼:使用XREAD實(shí)現(xiàn)流 迭代器71
13.6 重點(diǎn)回顧73
第二部分 外部應(yīng)用
第 14章 消息隊(duì)列77
14.1 需求描述77
14.2 解決方案77
14.3 實(shí)現(xiàn)代碼78
14.4 擴(kuò)展實(shí)現(xiàn):直播間彈幕系統(tǒng) 80
14.5 重點(diǎn)回顧82
第 15章 標(biāo)簽系統(tǒng)85
15.1 需求描述85
15.2 解決方案85
15.3 實(shí)現(xiàn)代碼86
15.4 擴(kuò)展實(shí)現(xiàn):為根據(jù)標(biāo)簽查找目
標(biāo)功能加上緩存88
15.5 重點(diǎn)回顧90
第 16章 自動補(bǔ)全91
16.1 需求描述91
16.2 解決方案91
16.3 實(shí)現(xiàn)代碼92
16.4 擴(kuò)展實(shí)現(xiàn):自動移除冷門輸入建議表94
16.5 重點(diǎn)回顧96
第 17章 抽獎97
17.1 需求描述97
17.2 解決方案97
17.3 實(shí)現(xiàn)代碼98
17.4 重點(diǎn)回顧100
第 18章 社交關(guān)系101
18.1 需求描述101
18.2 解決方案101
18.3 實(shí)現(xiàn)代碼102
18.4 重點(diǎn)回顧105
第 19章 登錄會話107
19.1 需求描述107
19.2 解決方案107
19.3 實(shí)現(xiàn)代碼108
19.4 重點(diǎn)回顧110
第 20章 短網(wǎng)址生成器111
20.1 需求描述111
20.2 解決方案111
20.3 實(shí)現(xiàn)代碼113
20.4 擴(kuò)展實(shí)現(xiàn):為短網(wǎng)址生成器加上緩存114
20.5 重點(diǎn)回顧116
第 21章 投票117
21.1 需求描述117
21.2 解決方案117
21.3 實(shí)現(xiàn)代碼119
21.4 重點(diǎn)回顧121
第 22章 排行榜123
22.1 需求描述123
22.2 解決方案123
22.3 實(shí)現(xiàn)代碼124
22.4 重點(diǎn)回顧126
第 23章 分頁127
23.1 需求描述127
23.2 解決方案127
23.3 實(shí)現(xiàn)代碼129
23.4 重點(diǎn)回顧131
第 24章 時(shí)間線133
24.1 需求描述133
24.2 解決方案133
24.3 實(shí)現(xiàn)代碼135
24.4 重點(diǎn)回顧138
第 25章 地理位置139
25.1 需求描述139
25.2 解決方案139
25.3 實(shí)現(xiàn)代碼140
25.4 擴(kuò)展實(shí)現(xiàn):實(shí)現(xiàn)“搖一搖”功能142
25.5 擴(kuò)展實(shí)現(xiàn):為“搖一搖”功 能設(shè)置緩存143
25.6 重點(diǎn)回顧145
第三部分 數(shù)據(jù)結(jié)構(gòu)
第 26章 先進(jìn)先出隊(duì)列149
26.1 需求描述149
26.2 解決方案149
26.3 實(shí)現(xiàn)代碼150
26.4 擴(kuò)展實(shí)現(xiàn):反方向的隊(duì)列152
26.5 重點(diǎn)回顧153
第 27章 定長隊(duì)列和淘汰隊(duì)列155
27.1 需求描述155
27.2 解決方案155
27.3 實(shí)現(xiàn)代碼157
27.4 擴(kuò)展實(shí)現(xiàn):淘汰隊(duì)列158
27.5 重點(diǎn)回顧160
第 28章 棧(后進(jìn)先出隊(duì)列)161
28.1 需求描述161
28.2 解決方案161
28.3 實(shí)現(xiàn)代碼162
28.4 擴(kuò)展實(shí)現(xiàn):為棧添加更多方法163
28.5 重點(diǎn)回顧164
第 29章 優(yōu)先隊(duì)列165
29.1 需求描述165
29.2 解決方案165
29.3 實(shí)現(xiàn)代碼167
29.4 擴(kuò)展實(shí)現(xiàn):為優(yōu)先隊(duì)列加上阻塞操作169
29.5 重點(diǎn)回顧170
第30章 循環(huán)隊(duì)列171
30.1 需求描述171
30.2 解決方案171
30.3 實(shí)現(xiàn)代碼172
30.4 擴(kuò)展實(shí)現(xiàn):無重復(fù)元素的循環(huán)隊(duì)列174
30.5 重點(diǎn)回顧176
第31章 矩陣177
31.1 需求描述177
31.2 解決方案:使用列表177
31.3 實(shí)現(xiàn)代碼:使用列表實(shí)現(xiàn)矩陣存儲178
31.4 解決方案:使用位圖180
31.5 實(shí)現(xiàn)代碼:使用位圖實(shí)現(xiàn)矩陣存儲181
31.6 重點(diǎn)回顧184
第32章 邏輯矩陣185
32.1 需求描述185
32.2 解決方案185
32.3 實(shí)現(xiàn)代碼186
32.4 擴(kuò)展實(shí)現(xiàn):優(yōu)化內(nèi)存占用188
32.5 重點(diǎn)回顧192