- 商品参数
-
- 作者:
黄健宏著|
无编
- 出版社:人民邮电出版社
- 出版时间:2024-12
- 页数:无
- ISBN:9787115653956
- 版权提供:人民邮电出版社
商品参数
内容介绍
本书将从内部组件、外部应用和数据结构3个方面为读者介绍Redis常见、*的用法与实例,并且所有实例均附有完整的Python代码,方便读者学习和参考。全书分3个部分:*部分讲内部组件,介绍的实例通常用于系统内部,如缓存、锁、计数器、迭代器、速率限制器等,这些*是很多系统中不可或缺的部分;*部分讲外部应用,介绍的实例*是一些日常常见的、用户可以直接接触到的应用,如直播弹幕、社交关系、排行榜、分页、地理位置等;第三部分讲数据结构,介绍的实例是一些使用Redis实现的常见数据结构,如先进先出队列、栈、优先队列和矩阵等。本书希望通过展示常见的Redis应用实例来帮助读者了解使用Redis解决各类问题的方法,并加深读者对Redis各项命令及数据结构的认识,使读者真正成为能够使用Redis解决各类问题的Redis*。 本书适合对Redis有基本了解且想要进一步掌握Redis及键值数据库具体应用的技术人群,是理想的Redis技术进阶读物。
目录
第 一部分 内部组件
第 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
作者介绍
黄健宏 计算机技术图书作者和译者,关注的领域包括数据库、编程语言、操作系统,以及算法和数据结构。 他从2011年开始关注Redis,翻译过Redis文档,注释过Redis源代码,发表了大量关于Redis的文章,还撰写了广受Redis使用者喜爱的源码分析书《Redis设计与实现》,并翻译了热销的Redis入门书《Redis实战》。 他还是《Redis使用手册》的作者,《SQL实战(第2版)》、《Go语言趣学指南》和《Go Web编程》的译者。
1