Redis應用實例

黃健宏

  • 出版商: 人民郵電
  • 出版日期: 2024-12-01
  • 定價: $419
  • 售價: 8.5$356
  • 語言: 簡體中文
  • 頁數: 192
  • ISBN: 711565395X
  • ISBN-13: 9787115653956
  • 相關分類: Key-Value Store
  • 下單後立即進貨 (約2週~3週)

  • Redis應用實例-preview-1
  • Redis應用實例-preview-2
Redis應用實例-preview-1

買這商品的人也買了...

相關主題

商品描述

本書將從內部組件、外部應用和數據結構3個方面為讀者介紹Redis常見、經典的用法與實例,並且所有實例均附有完整的Python代碼,方便讀者學習和參考。全書分3個部分:第一部分講內部組件,介紹的實例通常用於系統內部,如緩存、鎖、計數器、迭代器、速率限制器等,這些都是很多系統中不可或缺的部分;第二部分講外部應用,介紹的實例都是一些日常常見的、用戶可以直接接觸到的應用,如直播彈幕、社交關系、排行榜、分頁、地理位置等;第三部分講數據結構,介紹的實例是一些使用Redis實現的常見數據結構,如先進先出隊列、棧、優先隊列和矩陣等。本書希望通過展示常見的Redis應用實例來幫助讀者瞭解使用Redis解決各類問題的方法,並加深讀者對Redis各項命令及數據結構的認識,使讀者真正成為能夠使用Redis解決各類問題的Redis專家。

本書適合對Redis有基本瞭解且想要進一步掌握Redis及鍵值數據庫具體應用的技術人群,是理想的Redis技術進階讀物。

作者簡介

黄健宏

计算机技术图书作者和译者,关注的领域包括数据库、编程语言、操作系统,以及算法和数据结构。

他从2011年开始关注Redis,翻译过Redis文档,注释过Redis源代码,发表了大量关于Redis的文章,还撰写了广受Redis使用者喜爱的源码分析书《Redis设计与实现》,并翻译了热销的Redis入门书《Redis实战》。

他还是《Redis使用手册》的作者,《SQL实战(第2版)》、《Go语言趣学指南》和《Go Web编程》的译者。

目錄大綱

第 一部分 內部組件

第 1章 緩存文本數據 3

1.1 需求描述 3

1.2 解決方案:使用字符串鍵緩存單項數據 3

1.3 實現代碼:使用字符串鍵緩存單項數據 4

1.4 解決方案:使用JSON/哈希鍵緩存多項數據 5

1.5 實現代碼:使用JSON/哈希鍵緩存多項數據 6

1.6 重點回顧 9

第 2章 緩存二進制數據 11

2.1 需求描述 11

2.2 解決方案 11

2.3 實現代碼 12

2.4 重點回顧 13

第3章 鎖 15

3.1 需求描述 15

3.2 解決方案 15

3.3 實現代碼 16

3.4 擴展方案:帶自動解鎖功能的鎖 17

3.5 重點回顧 19

第4章 帶密碼保護功能的鎖 21

4.1 需求描述 21

4.2 解決方案 21

4.3 實現代碼 22

4.4 重點回顧 23

第5章 自增數字ID 25

5.1 需求描述 25

5.2 解決方案:使用字符串鍵 25

5.3 實現代碼:使用字符串鍵實現自增數字ID生成器 26

5.4 解決方案:使用哈希鍵 27

5.5 實現代碼:使用哈希鍵實現自增數字ID生成器 27

5.6 重點回顧 28

第6章 計數器 29

6.1 需求描述 29

6.2 解決方案:使用字符串鍵 29

6.3 實現代碼:使用字符串鍵實現計數器 30

6.4 解決方案:使用哈希鍵 31

6.5 實現代碼:使用哈希鍵實現計數器 32

6.6 重點回顧 33

第7章 唯一計數器 35

7.1 需求描述 35

7.2 解決方案:使用集合鍵 35

7.3 實現代碼:使用集合鍵實現唯一計數器 36

7.4 解決方案:使用HyperLogLog鍵 37

7.5 實現代碼:使用HyperLogLog鍵實現唯一計數器 38

7.6 重點回顧 39

第8章 速率限制器 41

8.1 需求描述 41

8.2 解決方案 41

8.3 實現代碼 42

8.4 重點回顧 45

第9章 二元操作記錄器 47

9.1 需求描述 47

9.2 解決方案 47

9.3 實現代碼 48

9.4 重點回顧 49

第 10章 資源池 51

10.1 需求描述 51

10.2 解決方案 51

10.3 實現代碼 52

10.4 重點回顧 54

第 11章 緊湊字符串 57

11.1 需求描述 57

11.2 解決方案 58

11.3 實現代碼 58

11.4 重點回顧 60

第 12章 數據庫迭代器 61

12.1 需求描述 61

12.2 解決方案 61

12.3 實現代碼 62

12.4 擴展實現:數據庫採樣程序 64

12.5 重點回顧 66

第 13章 流迭代器 67

13.1 需求描述 67

13.2 解決方案:使用XRANGE 67

13.3 實現代碼:使用XRANGE實現

流迭代器 69

13.4 解決方案:使用XREAD 70

13.5 實現代碼:使用XREAD實現流 迭代器 71

13.6 重點回顧 73

第二部分 外部應用

第 14章 消息隊列 77

14.1 需求描述 77

14.2 解決方案 77

14.3 實現代碼 78

14.4 擴展實現:直播間彈幕系統 80

14.5 重點回顧 82

第 15章 標簽系統 85

15.1 需求描述 85

15.2 解決方案 85

15.3 實現代碼 86

15.4 擴展實現:為根據標簽查找目

標功能加上緩存 88

15.5 重點回顧 90

第 16章 自動補全 91

16.1 需求描述 91

16.2 解決方案 91

16.3 實現代碼 92

16.4 擴展實現:自動移除冷門輸入建議表 94

16.5 重點回顧 96

第 17章 抽獎 97

17.1 需求描述 97

17.2 解決方案 97

17.3 實現代碼 98

17.4 重點回顧 100

第 18章 社交關系 101

18.1 需求描述 101

18.2 解決方案 101

18.3 實現代碼 102

18.4 重點回顧 105

第 19章 登錄會話 107

19.1 需求描述 107

19.2 解決方案 107

19.3 實現代碼 108

19.4 重點回顧 110

第 20章 短網址生成器 111

20.1 需求描述 111

20.2 解決方案 111

20.3 實現代碼 113

20.4 擴展實現:為短網址生成器加上緩存 114

20.5 重點回顧 116

第 21章 投票 117

21.1 需求描述 117

21.2 解決方案 117

21.3 實現代碼 119

21.4 重點回顧 121

第 22章 排行榜 123

22.1 需求描述 123

22.2 解決方案 123

22.3 實現代碼 124

22.4 重點回顧 126

第 23章 分頁 127

23.1 需求描述 127

23.2 解決方案 127

23.3 實現代碼 129

23.4 重點回顧 131

第 24章 時間線 133

24.1 需求描述 133

24.2 解決方案 133

24.3 實現代碼 135

24.4 重點回顧 138

第 25章 地理位置 139

25.1 需求描述 139

25.2 解決方案 139

25.3 實現代碼 140

25.4 擴展實現:實現“搖一搖”功能 142

25.5 擴展實現:為“搖一搖”功 能設置緩存 143

25.6 重點回顧 145

第三部分 數據結構

第 26章 先進先出隊列 149

26.1 需求描述 149

26.2 解決方案 149

26.3 實現代碼 150

26.4 擴展實現:反方向的隊列 152

26.5 重點回顧 153

第 27章 定長隊列和淘汰隊列 155

27.1 需求描述 155

27.2 解決方案 155

27.3 實現代碼 157

27.4 擴展實現:淘汰隊列 158

27.5 重點回顧 160

第 28章 棧(後進先出隊列) 161

28.1 需求描述 161

28.2 解決方案 161

28.3 實現代碼 162

28.4 擴展實現:為棧添加更多方法 163

28.5 重點回顧 164

第 29章 優先隊列 165

29.1 需求描述 165

29.2 解決方案 165

29.3 實現代碼 167

29.4 擴展實現:為優先隊列加上阻塞操作 169

29.5 重點回顧 170

第30章 循環隊列 171

30.1 需求描述 171

30.2 解決方案 171

30.3 實現代碼 172

30.4 擴展實現:無重復元素的循環隊列 174

30.5 重點回顧 176

第31章 矩陣 177

31.1 需求描述 177

31.2 解決方案:使用列表 177

31.3 實現代碼:使用列表實現矩陣存儲 178

31.4 解決方案:使用位圖 180

31.5 實現代碼:使用位圖實現矩陣存儲 181

31.6 重點回顧 184

第32章 邏輯矩陣 185

32.1 需求描述 185

32.2 解決方案 185

32.3 實現代碼 186

32.4 擴展實現:優化內存占用 188

32.5 重點回顧 192